您可以input
(在 Python 2.x 中)计算任意表达式,其中包括write
适当对象(例如,文件对象)的方法:
$ python tmp.py
Guess the value of the randomly generated number. open("/dev/tty", "w").write(str(hidden))
0.111568033994Traceback (most recent call last):
File "tmp.py", line 6, in <module>
if float(val) == hidden:
TypeError: float() argument must be a string or a number
输入字符串open("/dev/tty", "w").write(str(hidden))
将触发 a TypeError
,但不会在评估字符串之前触发,这会导致将 的值hidden
写入当前终端。这个例子有点依赖于操作系统,因为它假设/dev/tty
存在,但我只用它来使值立即显示。用户有权写入的任何文件都可以使用,并且可以在 Python 脚本存在后查看文件的内容。
如果代码已包含import sys
,则可以改用输入sys.stdout.write(hidden)
。
如果代码已包含from __future__ import print_function
,则可以改用输入print(hidden)
。