私は2つのプログラムを持っています program1.py は、ユーザーからコマンドを取得するコマンドラインインターフェイスのようなものです program2.py には、コマンドに従って関連プログラムを実行するプログラムがあります。
プログラム 1 には quit_program() モジュールもあります 私たちの単純な宇宙では.. 1 つのコマンドと 1 つのプログラムしかないとしましょう。
program1.py
def main():
while True:
try:
command = raw_input('> ')
if command == "quit" :
return
if command == '':
continue
except KeyboardInterrupt:
exit()
parseCommand(command)
そして、私は持っています:
if commmand == "hi":
say_hi()
現在、program2 は
def say_hi():
#do something..
現在、2 つのケースが考えられます...どちらの場合でも問題なく say_hi() が完了します...しかし、私が望むのは、ユーザーがコマンドを入力すると (たとえば: end)、この say_hi() が途中で終了することです..
しかし、私の現在の実装は非常に順次的です..つまり、実行が完了するまで端末に何も入力できないということです..somethng は、say_hi() を別のスレッドで実行する必要があることを教えてくれますか?
私はこれについてまっすぐに考えることができません。助言がありますか?ありがとう