gpt4 book ai didi

python - 是否可以使用 subprocess.Popen 与子子进程通信?

转载 作者:太空狗 更新时间:2023-10-30 00:47:06 25 4
gpt4 key购买 nike

我正在尝试编写一个 python 脚本来打包我们的软件。该脚本需要构建我们的产品,并将其打包。目前我们有其他脚本可以单独执行每个部分,包括 csh 和 perl 脚本。一个这样的脚本运行如下:

sudo mod args

其中 mod 是一个 perl 脚本;所以在 python 中我会做

proc = Popen(['sudo', 'mod', '-p', '-c', 'noresource', '-u', 'dtt', '-Q'], stderr=PIPE, stdout=PIPE, stdin=PIPE)

问题是这个 mod 脚本需要回答几个问题。为此,我认为传统的

(stdout, stderr) = proc.communicate(input='y')

会起作用。我认为它不起作用,因为 Popen 控制的进程是 sudo,而不是提出问题的 mod 脚本。有什么方法可以与 mod 脚本通信并仍然通过 sudo 运行它吗?

最佳答案

我会选择 Pexpect。

import pexpect
child = pexpect.spawn ('sudo mod -p -c noresource -u dtt -Q')
child.expect ('First question:')
child.sendline ('Y')
child.expect ('Second question:')
child.sendline ('Yup')

关于python - 是否可以使用 subprocess.Popen 与子子进程通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250700/

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