C プログラムから、Python/C-API を使用して Python スクリプトを実行しています。を使用しますPyRun_SimpleFile
。これは、Python スクリプトを読み取り、最後まで実行します。
特定の Python コマンドが実行されたときに、Python スクリプトを「中断」したいと考えています。と呼びましょうcwait()
。その後、コントロールは C which に戻ります。C プログラムがそうすることにした場合、中断された場所で Python スクリプトの実行を再開する必要があります。
したがって、次のような Python スクリプトを記述できるようにしたいと考えています。
import cwaitmodule
print("hello world")
cwaitmodule.cwait(1000)
print("A second has passed")
for x in ["a", "b", "c"]:
print(x)
cwaitmodule.cwait(100)
C が実行されるか、Python が実行されるという意味で、この協調的マルチタスキングと呼ぶことができます。
C プログラムは、Python スクリプトを読み取って実行する「マスター」でなければならないことに注意してください。コマンドラインから、次のように入力します。
run_script -p my_script.py