我正在尝试编写一个包装我们软件的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运行它?