import sys
print(sys.platform)
print(2**100)
raw_input()
我正在使用Python 3.1,并且无法获取raw_input
来“冻结” DOS弹出窗口。 这本书我读的是Python 2.5的,我使用Python 3.1
我应该怎么做才能解决这个问题?
#1楼
Timmerman的解决方案在运行代码时效果很好,但是如果您不想在使用pyflakes或类似的linter时出现Undefined name
错误,则可以改用以下代码:
try:
import __builtin__
input = getattr(__builtin__, 'raw_input')
except (ImportError, AttributeError):
pass
#2楼
这是我在脚本中输入的一段代码,我不想在与py2 / 3无关的环境中运行:
# Thank you, python2-3 team, for making such a fantastic mess with
# input/raw_input :-)
real_raw_input = vars(__builtins__).get('raw_input',input)
现在,您可以使用real_raw_input。 它相当昂贵,但简短易读。 使用原始输入通常很耗时(等待输入),因此并不重要。
从理论上讲,您甚至可以分配raw_input而不是real_raw_input,但是可能会有一些模块检查raw_input的存在