我正在尝试编写一个打包我们软件的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)
问题是这个模组脚本需要回答几个问题。为此,我认为传统的
(stdout, stderr) = proc.communicate(input='y')
会工作。我认为它不起作用,因为 Popen 控制的过程是 sudo,而不是提出问题的 mod 脚本。有什么方法可以与 mod 脚本通信并仍然通过 sudo 运行它?