2

これが数回尋ねられたことは知っていますが、良い解決策が見つかりませんでした。python.exeおそらくコマンドライン引数などを使用してPythonスクリプトを実行し、実行後にPythonスクリプトを一時停止したいと考えています。理想的な解決策は、実行後に「Press any key to continue ...」python myscript.py -pauseと表示されるようなものです。私の知る限り、これは不可能ですが、同様の解決策を探しています。

これまでに見つけた解決策は次のとおりです。

  1. cmd 行を使用してスクリプトを実行しますcmd /K python myscript.pyが、cmd ウィンドウがばかげて開いたままになります。テキスト エディターに戻るには、exitを記述する必要があります。
  2. Python スクリプトに手動で追加input("Press any key to continue ...")していますが、1 時間以内に 25 の異なるスクリプトを開く必要があることがよくあります。それらのそれぞれにスクリプトを記述し、完了したら削除するのはばかげています。

input()スクリプトの実行後に自動的に呼び出すなど、より良い解決策はありますか?

4

1 に答える 1

2

--pausePython スクリプトにオプションを追加し、そのオプションが設定されている場合にのみキーを押すように求めることができます。

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}
于 2013-07-01T10:43:31.517 に答える