2013-07-01 338 views
2

我知道這已被問過幾次,但我還沒有找到一個好的解決方案。 我希望運行我的Python腳本使用python.exe可能的命令行參數或類似的,使python腳本執行後暫停。 理想的解決方案將如python myscript.py -pause,現在它會說「按任意鍵繼續...」執行後。 據我所知這是不可能的,但我正在尋找一個類似的解決方案。運行python.exe並在腳本執行後暫停

到目前爲止,我已經找到了解決方案:

  1. 運行我的腳本CMD行:cmd /K python myscript.py但它留下的cmd窗口打開愣神,我現在需要寫退出要回我的文本編輯器。
  2. 手動將input("Press any key to continue ...")添加到我的python腳本中,但是我經常需要在一個小時內打開25個不同的腳本,並且感覺每個腳本都會寫一個愚蠢的,然後在完成後刪除它。

有沒有更好的解決方案,比如腳本執行後自動調用input()

回答

2

你可以添加一個選項--pause你的Python腳本,並提示按鍵只有當該選項設置:

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} 
+0

批處理腳本做的工作,謝謝! :) –