0

GUIを作成しようとしています。GUI がアクティブなときに、別の Python スクリプトを実行する必要があります。(GUIはこの実行からのデータを処理することになっています)Tkinterを使用してGUIを作成したため、pythonターミナルで別のファイルを実行できません。

どうすればこの問題を解決できますか?

4

1 に答える 1

1

別のインタープリターを起動する必要はありません。

別のスレッドまたはプロセスで、他のスクリプトからコードを実行するだけです。


「その他」のスクリプトをリファクタリングする

「他の」スクリプトを別のスクリプトから呼び出せるようにします。そのために必要なのは、スクリプトが行っていたことを実行する関数だけです。

#other.py

def main(arg1, arg2, arg3):
    do_stuff(arg1, arg2)
    more_stuff(arg2, arg3)
    other_stuff(arg1, arg3) 
    finish_stuff(arg1, arg2, arg3)

コードを別のスレッドで実行する

メイン スクリプトで からコードを実行する場合はother.py、新しいスレッドを開始します。

 #script.py

 from threading import Thread

 from other import main

 thread = Thread(target = main)
 thread.start() # This code will execute in parallel to the current code

作業が完了したかどうかを確認するには、 を使用しますthread.is_alive()。完了するまでブロックするには、使用しますthread.join()

于 2013-03-09T19:55:57.513 に答える