<分区>
好的,我一直在编写一个脚本,但输入部分发生了一件烦人的事情。根据我拥有的 python 版本,我要么需要在输入中包含引号,要么不需要。使用 python 2.7,我需要引号;使用 python 3.3,我没有。例如:
filename = input('Enter Update File: ')
print(filename)
对于 python 2.7,我需要用引号将我的输入括起来,否则会引发 NameError;在 python 3.3 中,我没有。
有没有办法避免这种情况?
在 Python 2.x 上,您需要使用 raw_input()
而不是 input()
。在旧版本的 Python 上,input()
实际上将您键入的内容作为 Python 表达式求值, 这就是您需要引号的原因(就像您编写Python 程序中的字符串)。
Python 3.x 和 Python 2.x 有很多区别;这只是其中之一。但是,您可以使用如下代码解决这个特定差异:
try:
input = raw_input
except NameError:
pass
# now input() does the job on either 2.x or 3.x