如何解决在不退出子进程的情况下恢复 python 代码
我有一个主要的 python 脚本,它调用了几个下标 --> main.py
我的第一个子脚本 subscript1.py
运行几行代码,然后在最后使用 subprocess
打开一个外部程序(腻子)。要打开的程序是一个数据监视器,我想一直保持打开状态。
我想返回 main.py
以便 subscript2.py
可以运行。
问题:python 代码在子进程的外部程序关闭之前不会恢复。如何保持子进程打开但继续使用我的 python 代码?
main.py:
import subprocess
subprocess.call(['python','subscript1.py'])
subprocess.call(['python','subscript2.py'])
subscript1.py:
import subprocess
prog_path = 'C:/Programs/PUTTY.exe'
load_config = 'config_to_load'
... lines of code to check for a condition
if outcome_value == 1:
subprocess.run(prog_path,'load',load_config)
else:
print("error message")
解决方法
如果我是你,我会用 multiprocessing.pool
from multiprocessing import Pool
import time
import subprocess
def do_wait(_):
subprocess.call(['python','-c',"import time;time.sleep(1)"])
st = time.time()
with Pool(5) as p:
print(p.map(do_wait,[1,2,3]))
diff = time.time() - st
print(f"total : {diff} sec")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。