如何在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 提示被延迟

Python中的子进程执行两个任务? [关闭]

如何在 python 中的子进程调用期间阻止 stdout 显示我的密码? [复制]

带有管道的子进程调用[重复]

如何从 Python 中的一组字符串中删除特定的子字符串?

如何在 Python 中终止我的子进程 [重复]