如何在python的子进程中执行一组语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python的子进程中执行一组语句?相关的知识,希望对你有一定的参考价值。
我想在子进程中执行一组由python脚本中的shell和python代码组合而成的语句。我正在使用subprocess.call()方法,但它只需要一个shell命令作为输入。我想在子进程中的shell命令之后执行一些python代码,并在shell + python代码完成执行后退出子进程。
command = "./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights {0}".format(latest_subdir)
proc = subprocess.Popen([command], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
with open(result_file, 'w') as fout:
fout.write(out)
os.system('mv {0} {1}'.format(latest_subdir,processed_dir))
s3_util.upload_results([result_file])
答案
[将字符串发送到os.system
时,将使用系统命令Shell的语法。例如,这在Linux上可以正常工作:
os.system('ls; wc -l so.py; echo "done"')
用分号分隔命令。
以上是关于如何在python的子进程中执行一组语句?的主要内容,如果未能解决你的问题,请参考以下文章
使用 asyncio 将 bash 作为 Python 的子进程运行,但 bash 提示被延迟