Python:用户输入,与版本无关

时间:2018-02-02 15:01:07

标签: python string input version

我正在制作一个带字符串输入的脚本。但是,我希望这个脚本独立于python 2.7或python 3 +。

对于python 2.7我写

name = raw_input("Enter your name: ")

对于python 3+我写

name = input("Enter your name: ") 

如何编写与这两个版本兼容的单行代码?

2 个答案:

答案 0 :(得分:1)

# Python 2 and 3:
from builtins import input

name = input('What is your name? ')
assert isinstance(name, str)    # native str on Py2 and Py3

答案 1 :(得分:0)

您无法在代码行中执行此操作,但您可以使用以下内容:

try:
   input = raw_input
except NameError:
   pass

现在调用输入将在Python 2和Python 3中按预期工作。