我应该如何等待Python 2和Python 3中的按键?
问题描述:
这可能是一个非常简单的问题,但我还没有找到一个简单的解决方案。在Python2,我可以等待一个按键按以下方式:我应该如何等待Python 2和Python 3中的按键?
raw_input("\nPress Enter to continue.")
在Python 3,我可以等在以下方式按键:
input("\nPress Enter to continue.")
我应该如何等待一个按键在一个旨在兼容Python 2和Python 3的脚本中?
编辑:所以,例如,下面的函数关于我可以得到的效率?
def pause(
text = "\nPress Enter to continue."
):
if sys.version_info[0] < 3:
raw_input(text)
else:
input(text)
答
你总是可以做
try:
input = raw_input
except NameError:
pass
所以你总是写
input('...')
而忘记了关于Python 2.x的旧的和过时的input
+1
啊,这是非常优雅和前瞻性。谢谢 – d3pd
您可以检查在每个版本依赖版本的代码之前,你的版本是什么 –
我会倾向于'if sys.v ersion_info [0]> = 3:raw_input = input',然后在每个地方使用'raw_input'。 – jonrsharpe
@TimCastelijns感谢您的建议。我为解释这种方法的问题添加了一个例子。 – d3pd