gpt4 book ai didi

python - 有没有办法在 python 的子进程调用之间保留/转移 bash 环境?

转载 作者:太空宇宙 更新时间:2023-11-03 21:38:21 25 4
gpt4 key购买 nike

问题:假设我有脚本 ABC1C2、... CN.

脚本B源脚本A包含多个环境变量和函数,然后调用依赖它们的C脚本。

现在,假设我想用 python 程序替换 bash 脚本 B。如果我想恰好“获取”A 一次(而不是在每次 C 调用之前),我该如何最好地做到这一点?

我希望能够单独“处理”每个 C,即在每个 C 执行后运行一些 python 代码,因此创建一些大的 ". A && C1 && C2 ..."命令不起作用。

最佳答案

我不确定这会回答这个问题,因为我认为您制定的方式仍然不清楚,但您可以使用此代码片段来解析您的 bash 脚本并从 python 运行它们,同时捕获每行的输出,以便它可能会给你一个起点

import subprocess

def start_process(command=''):
return subprocess.Popen(command.split(' '), stdout=subprocess.PIPE, shell=False,
creationflags = 0x08000000)

with open('yourscript.sh','rt') as f:
lines = f.read().split('\n')
output=[str(start_process(line).communicate()[0]) for line in lines]

通过这种方式,您也许能够构建一个结构,让您的 python 脚本协调您的 bash 脚本,而不是在有意义的情况下处于平等地位

关于python - 有没有办法在 python 的子进程调用之间保留/转移 bash 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53101840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com