我应该如何等待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) 
+1

您可以检查在每个版本依赖版本的代码之前,你的版本是什么 –

+2

我会倾向于'if sys.v ersion_info [0]> = 3:raw_input = input',然后在每个地方使用'raw_input'。 – jonrsharpe

+0

@TimCastelijns感谢您的建议。我为解释这种方法的问题添加了一个例子。 – d3pd

你总是可以做

try: 
    input = raw_input 
except NameError: 
    pass 

所以你总是写

input('...') 

而忘记了关于Python 2.x的旧的和过时的input

+1

啊,这是非常优雅和前瞻性。谢谢 – d3pd