gpt4 book ai didi

Python - 使用重定向构建 subprocess.popen

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

我想用 popen 创建一个子进程。特殊需求是在命令中使用shell指令。

args = [
'/bin/cat',
'<',
'textfile',
]
process = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
env={'LANG':'de_DE@euro'})
processpid = process.pid
output = process.communicate()

我不想使用 shell=True 选项,因此我的问题是如何实现它。

问候斯特凡

最佳答案

不可能,除非您调用的程序本身实现了重定向(cat 没有)。要使用 shell 功能,您必须传递 shell=True 或显式调用 shell。

OTOH,如果你只想从 textfile 中读取,你可以将它作为子进程的 stdin 传递:

subprocess.Popen(args,
stdin=open("textfile"),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env={'LANG':'de_DE@euro'})

关于Python - 使用重定向构建 subprocess.popen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8820885/

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