回答:
私(またはraw_input()
Python 2.X)には問題ないようです。あるいはtime.sleep()
、特定の秒数の間一時停止したい場合に使用できます。
import time
print("something")
time.sleep(5.5) # pause 5.5 seconds
print("something")
print
して、長いテキストブロックを表示し、Pythonのバージョンに応じて、input()
またはraw_input('Press <ENTER> to continue')
適切に表示します。
input()
(またはraw_input()
Python 2.xで)ユーザーにプロンプトを表示することをお勧めします。速い読者は遅延を待たないでしょう、遅い読者は遅延にもっと時間を必要とするかもしれません、誰かがそれを読んでいる間に中断されてもっと多くの時間を欲するかもしれません。彼女はそれがどのように機能するかに慣れ、長いテキストを読む必要すらなくなるかもしれません。ユーザーがテキストブロックを読み取り用に表示する時間を制御できるのは、とても親しみやすいです。
したがって、これは私のコーディング作業で非常にうまく機能することがわかりました。プログラムの最初に関数を作成しただけで、
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 signal
def signal_handler(signal_number, frame):
print "Proceed ..."
signal.signal(signal.SIGINT, signal_handler)
signal.pause()
したがって、シグナルSIGINTのハンドラーを登録し、シグナルを待機して一時停止します。これで、プログラムの外側(bashなど)からを実行できますkill -2 <python_pid>
。これにより、信号2(SIGINT)がPythonプログラムに送信されます。プログラムは登録されたハンドラーを呼び出し、実行を続行します。
signal.pause
。
python
2と3に次のコードを使用して、ユーザーが押すまでコードの実行を一時停止ENTER
import six
if six.PY2:
raw_input("Press the <ENTER> key to continue...")
else:
input("Press the <ENTER> key to continue...")
mhawkeとstevehaのコメントで指摘されているように、この正確な質問に対する最良の答えは次のとおりです。
テキストの長いブロックの場合は、遅延時間ではなく、
input('Press <ENTER> to continue')
(またはraw_input('Press <ENTER> to continue')
Python 2.xで)ユーザーにプロンプトを表示することをお勧めします。速い読者は遅延を待たないでしょう、遅い読者は遅延にもっと時間を必要とするかもしれません、誰かがそれを読んでいる間に中断されてもっと多くの時間を欲するかもしれません。彼女はそれがどのように機能するかに慣れ、長いテキストを読む必要すらなくなるかもしれません。ユーザーがテキストブロックを読み取り用に表示する時間を制御できるのは、とても親しみやすいです。
非常にシンプル:
raw_input("Press Enter to continue ...")
exit()
NameError: name 'raw_input' is not defined
Print ("This is how you pause")
input()
私はこのソルンが好きだと思います。
import getpass
getpass.getpass("Press Enter to Continue")
ユーザーが入力したものはすべて非表示になるため、ここでは入力が使用されていないことが明確になります。
ただし、OSXプラットフォームでは、混乱を招く可能性のあるキーが表示されることに注意してください。
おそらく、最善の解決策は、read -s
呼び出しを行わずにgetpassモジュールと同様のことを自分で行うことです。たぶん、fgの色をbgに合わせる?
この方法では、指定したキーを押すだけでプログラムを再開できます。
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'): # same, you can put any key you like instead of 'space'
break
注:keyboard
シェルまたはcmdで次のように記述するだけでモジュールをインストールできます。
pip install keyboard