如何使用gksudo将参数传递给子进程?

时间:2016-07-20 07:06:10

标签: python subprocess

FirstFile.py的数据

a=raw_input("Anything")
p=subprocess.Popen(['gksudo','python','file1.py'],stdin=subprocess.PIPE).communicate(a)<br>
#some related codes

file1.py的数据

pro=sys.stdin.read()<br>
sys.stdout.write('received data %s' %pro)<br>

file1.py给出输出:“收到数据

它没有显示收到的实际数据 当我只使用'sudo'代替'gksudo'时,它的效果绝对正常。 请建议如何修改它。

1 个答案:

答案 0 :(得分:0)

由于,

gksudo用于以root身份运行图形(GUI)应用程序,sudo用于以root身份运行命令行应用程序。在这里使用命令行应用程序。所以你必须使用sudo