在我的 C 程序中,我正在使用 Python/C-API 运行 Python 脚本。我使用PyRun_SimpleFile
,它读取 Python 脚本并将其执行到最后。
我想在执行某个 Python 命令时“中断”Python 脚本。让我们称之为cwait()
。然后控件应该返回到 C 其中。当 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 程序必须是“master”,它读取并执行 Python 脚本。所以从命令行,我输入如下内容:
run_script -p my_script.py