Ich mache eine GUI, die an der Eingabeaufforderung mit Subprozess und Tkinter ausführen kann.Subprozess - FileNotFoundError wenn Shell = False
def test_subprocess(self):
proc = subprocess.Popen(["echo", "Hello"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True, shell=False)
response = proc.communicate()[0]
self.log.insert("end", response)
Wenn ich gesetzt shell=False
, bekomme ich diesen Fehler:
FileNotFoundError: [WinError 2] The system cannot find the file specified
Ich habe bereits die Argumente in eine Sequenz getrennt.
Nur hinzufügen, viele UNIX-Systeme haben '/ bin/echo' sowie die eingebaute Shell, so dass Sie wahrscheinlich nur dieses spezielle Problem unter Windows bekommen würden. – cdarke
@cdarke: nett. Der Benutzer verwendet eindeutig Windows, die Fehlermeldung ist als die schlechteste überhaupt erkennbar, nicht einmal sagen, welche Datei es nicht finden kann :) –
Hassen Sie es nicht, wenn der Dateiname nicht gemeldet wird? Es weiß verdammt gut, * welche Datei es nicht finden kann, aber es ist uns nicht lästig, es uns zu sagen. Sie können nicht einmal "strace" ausführen, um es herauszufinden. – cdarke