我一直在使用输入函数作为暂停脚本的一种方式:

print("something")
wait = input("Press Enter to continue.")
print("something")

有正式的方式吗?


当前回答

跨平台的方式;工作无处不在

import os, sys

if sys.platform == 'win32':
    os.system('pause')
else:
    input('Press any key to continue...')

其他回答

通过这个方法,你可以通过按任何指定的键来恢复你的程序:

import keyboard
while True:
    key = keyboard.read_key()
    if key == 'space':  # You can put any key you like instead of 'space'
        break

同样的方法,但方式不同:

import keyboard
while True:
    if keyboard.is_pressed('space'):  # The same. you can put any key you like instead of 'space'
        break

注意:你可以通过在shell或cmd中写这个命令来安装键盘模块:

pip install keyboard

这对我来说似乎很好(或Python 2.X中的raw_input())。或者,如果想要暂停特定的秒数,也可以使用time.sleep()。

import time
print("something")
time.sleep(5.5)    # Pause 5.5 seconds
print("something")

我假设您希望在没有输入的情况下暂停。

Use:

time . sleep(秒)

我和喜欢简单解决方案的非程序员一起工作:

import code
code.interact(banner='Paused. Press ^D (Ctrl+D) to continue.', local=globals()) 

这产生了一个几乎完全像真正的解释器一样的解释器,包括当前上下文,只有输出:

Paused. Press ^D (Ctrl+D) to continue.
>>>

Python调试器也是暂停的好方法。

import pdb
pdb.set_trace() # Python 2

or

breakpoint() # Python 3

正如mhawke和steveha的评论所指出的,这个问题的最佳答案是:

Python 3. x:

input('Press <ENTER> to continue')

Python 2. x:

raw_input('Press <ENTER> to continue')

For a long block of text, it is best to use input('Press <ENTER> to continue') (or raw_input('Press <ENTER> to continue') on Python 2.x) to prompt the user, rather than a time delay. Fast readers won't want to wait for a delay, slow readers might want more time on the delay, someone might be interrupted while reading it and want a lot more time, etc. Also, if someone uses the program a lot, he/she may become used to how it works and not need to even read the long text. It's just friendlier to let the user control how long the block of text is displayed for reading.

轶事:曾经有一段时间,程序使用“按[ANY]键继续”。这个失败了,因为人们抱怨他们在键盘上找不到ANY键:)