我一直在使用输入函数作为暂停脚本的一种方式:
print("something")
wait = input("Press Enter to continue.")
print("something")
有正式的方式吗?
我一直在使用输入函数作为暂停脚本的一种方式:
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 signal
def signal_handler(signal_number, frame):
print "Proceed ..."
signal.signal(signal.SIGINT, signal_handler)
signal.pause()
因此,您为信号SIGINT注册了一个处理程序,并暂停等待任何信号。现在从你的程序外部(例如在bash中),你可以运行kill -2 <python_pid>,这将向你的python程序发送信号2(即SIGINT)。您的程序将调用已注册的处理程序并继续运行。
所以,我发现这在我的编程工作中非常有效。我只是在程序的最开始创建了一个函数,
def pause():
programPause = raw_input("Press the <ENTER> key to continue...")
现在我可以在任何需要的时候使用pause()函数,就像我在写一个批处理文件一样。例如,在这样的程序中:
import os
import system
def pause():
programPause = raw_input("Press the <ENTER> key to continue...")
print("Think about what you ate for dinner last night...")
pause()
很明显,这个项目没有目标,只是举个例子,但你可以准确地理解我的意思。
注意:对于Python 3,你需要使用input而不是raw_input
通过这个方法,你可以通过按任何指定的键来恢复你的程序:
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
我假设您希望在没有输入的情况下暂停。
Use:
time . sleep(秒)
仅适用于Windows,请使用:
import os
os.system("pause")