2016-07-20 2 views
0

Daten von FirstFile.py
Wie übergeben Sie Argument mit gksudo Subprozess?

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

Daten von file1.py

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

file1.py gibt die Ausgabe:
"Daten empfangen" Es ist nicht Zeigen Sie die tatsächlich empfangenen Daten an.
Wenn ich nur 'sudo' anstelle von 'gksudo' verwende, funktioniert es absolut gut. Bitte schlagen Sie vor, wie es geändert werden kann.

Antwort

0

Weil

gksudo verwendet wird grafische (GUI) Anwendung als root ausführen und sudo verwendet wird Kommandozeilen-Applikationen als Root auszuführen. Hier verwenden Sie die Befehlszeilenanwendung. Sie müssen also sudo verwenden.

+0

Hier verwende ich GUI-Einheiten (pygtk). Deshalb habe ich nach gksudo gefragt. Ich brauche genau wie es mit Gksudo funktioniert. Danke. @ Rahul K. P –