从另一个内部执行python脚本,传递参数并返回全局变量

时间:2019-10-17 14:02:42

标签: python-3.x subprocess arguments execute

我正在尝试在Python中创建作业计划程序。然后,调度程序(即父脚本)将运行子脚本(也在Python中)。

似乎最好的方法是通过子进程,这很吸引人,因为我希望能够取消/超时所涉及的进程/脚本,如果运行时间太长。

我尝试运行的脚本带有一个参数。至关重要的是,它还返回一个对象(一旦子作业完成,我便要在父脚本中引用该对象)。

我能够成功地将参数传递给子脚本并执行它。但是,我不确定如何接收子脚本“返回”的对象。因此,例如,如果我的子脚本旨在返回字典,那么我想在父脚本中引用该字典中的数据。

很明显,如果需要通过其他方式完成操作就可以了,但是至关重要的是,我可以终止该进程并将参数传递给任何子脚本。

示例代码:

import subprocess
my_timeout_in_seconds = 60
job_data = subprocess.run([sys.executable, path_to_my_script, argument_to_pass],
                          shell=False, timeout=my_timeout_in_seconds)

0 个答案:

没有答案