Python で『続行するには何かキーを押してください』を表示するやり方です。
Python から "PAUSE"
コマンドを実行したらできました。
PAUSE コマンドの解説
PAUSE コマンドの解説は、Windows のコマンドプロンプトで確認できました。
"help pause"
を実行します。
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
F:\>help pause
バッチ プログラムの処理を一時停止し、
"続行するには何かキーを押してください . . ."
というメッセージを表示します。
F:\>
『処理を一時停止してメッセージを表示する』という、そのままの説明でした。
この "PAUSE"
コマンドを、Python から実行します。
os.system()を使った方法
一番簡単な方法です。
コード例
os.system()
を使ったコード例です。
"""『続行するには何かキーを押してください』と表示するプログラム"""
# オーエス・システムを使う方法
import os
os.system('PAUSE')
実行結果
Python のインタプリタで実行した結果です。
『続行するには何かキーを押してください』と表示されてから何かキーを押すと、『リターンコードのゼロ』が返りました。
このゼロは、os.system()
の戻り値です。
>>> import os
>>> os.system('PAUSE')
続行するには何かキーを押してください . . .
0
subprocess.call()を使った方法
Python マニュアルでは、サブプロセスを使う方法を推奨していました。
os.system()
からの書き換えとして、subprocess.call()
を使った方法が載っていました。
なので、subprocess.call()
を使った方法を紹介します。
コード例
subprocess.call()
を使ったコード例です。
"""『続行するには何かキーを押してください』と表示するプログラム"""
# サブプロセス ドット コールを使う方法
import subprocess
subprocess.call('PAUSE', shell=True)
shell=True の安全性 ⇒ 問題ない(コマンド固定だから)
ところで、shell=True
の安全性が気になるかもしれません。この場合は安全だと思います。
コマンドが 'PAUSE'
で固定だから、安全なのです。
そして、'PAUSE'
コマンド自体も、一時停止 ⇒ 再開 するだけの無害なコマンドだから、安全なのです。
shell=True
の安全性が問題になるのは、コマンドが固定じゃないときだと思います。
たとえば、ユーザーから何か文字入力を受けて、それを subprocess.call()
に渡す時です。
『何か』を渡すので、いろいろな想定外が考えられます。
それに対して、今回のコードは、'PAUSE'
だけしか実行できません。だから、安全なのです。
'PAUSE'
コマンドで起こることだけを想定してコードを書けばOKだから、安全なのです。
自分は、そのように理解しています。
実行結果
Python のインタプリタで実行した結果です。
『続行するには何かキーを押してください』と表示されてから何かキーを押すと、『リターンコードのゼロ』が返りました。
このゼロは、subprocess.call()
の戻り値です。
>>> import subprocess
>>> subprocess.call('PAUSE', shell=True)
続行するには何かキーを押してください . . .
0
subprocess.run()を使った方法
Python マニュアルでは、サブプロセスの中でも、subprocess.run()
を使う方法を推奨していました。
なので、subprocess.run()
を使った方法を紹介します。
コード例
subprocess.run()
を使ったコード例です。
"""『続行するには何かキーを押してください』と表示するプログラム"""
# サブプロセス ドット ランを使う方法
import subprocess
subprocess.run('PAUSE', shell=True)
実行結果
Python のインタプリタで実行した結果です。
『続行するには何かキーを押してください』と表示されてから何かキーを押すと、『CompletedProcess クラスのインスタンス』が返りました。
コンプリーテッドプロセス クラス
(Python) class subprocess.CompletedProcess
このインスタンスは、subprocess.run()
の戻り値です。
>>> import subprocess
>>> subprocess.run('PAUSE', shell=True)
続行するには何かキーを押してください . . .
CompletedProcess(args='PAUSE', returncode=0)
実行中のプログラムの動作を見るときに使う
PAUSE コマンドで『続行するには何かキーを押してください』と表示するコードは、プログラムの動作確認や動きを説明するときに、よく使用しました。
プログラムを止めたいところで一時停止するのに便利だったんですよね。
実行中の Python プログラムの優先度を変更するコード例の説明でも使用しました。
プログラムを『PAUSE(ポーズ、一時停止)』するためのコマンドなので、そのままの用途になります。
あとは、プログラムの実行が完了したときに、ウィンドウが閉じてしまうのを防ぎたいときに使っています。
実行中のプログラムを一時停止する方法の説明で使いました。
Windows のバッチファイルの最後に PAUSE って書くのと同じような使い方ですね。
プログラムの実験をしているときに、使う場面が多かったです。
組み込みのウィンドウではうまく動かないことがあった
PAUSE コマンドは、Visual Studio Code に組み込まれている『デバッグ コンソール』や『ターミナル』などでは、うまく動かないことがありました。
Python に付属している IDLE でも、似たような感じでした。
なにかやり方があるのかもしれませんが、ちょっとわかりませんでした。
なので、PAUSE コマンドを含んだ Python スクリプトを実行するときは、『cmd.exe』や『py.exe』などの中で実行することをおすすめします。
キーボードの『Pauseキー』を押して一時停止する方法もあった
プログラムを一時停止する方法は、ほかにもありました。
キーボードの『Pause キー』を押すと、プログラムを好きなタイミングで一時停止できました。
再開したいときは、何かキーを押すことで再開できました。
こちらは、既存のプログラムそのままで使える方法でした。
プログラムで『PAUSE コマンド』を実行する方法と、キーボードの『Pause/Break キー』を使う方法。
どちらも便利に使っています。
以上です。