我知道这已被问过几次,但我还没有找到一个好的解决方案。
我希望使用python.exe
运行我的python脚本,可能还有命令行参数等,以便在执行后使python脚本暂停。
理想的解决方案就像python myscript.py -pause
,现在它会在执行后说“按任意键继续......”。
据我所知这是不可能的,但我正在寻找类似的解决方案。
到目前为止我找到的解决方案是:
cmd /K python myscript.py
但是它使cmd窗口保持打开状态,我现在需要编写 exit 来返回我的文本编辑器。input("Press any key to continue ...")
添加到我的python脚本中,但我经常需要在一小时内打开25个不同的脚本,为每个脚本编写它会感觉很愚蠢,然后一旦我删除它就会删除它完成。是否有更好的解决方案,例如在脚本执行后自动调用input()
?
答案 0 :(得分:2)
您可以在Python脚本中添加选项--pause
,并且仅在设置了该选项时才提示按键:
import getopt
import msvcrt
opts, args = getopt.getopt(sys.argv[1:], '...', ['pause', ...])
for opt, arg in opts:
if opt == "--pause":
promptForKeypress = True
...
...
if promptForKeypress:
msvcrt.getch() # note: Windows-only
# End of Script
但这需要修改所有脚本。另一种选择可能是使用这样的批处理脚本来运行Python脚本:
@echo off
if not "%1"=="" (
python %*
pause
)
像这样使用:
pyrunner.cmd script.py {options}