finden möchte ich den Befehl auszuführen:Python nicht einen Windows-Befehl auszuführen, mit
dir c: | find "File"
für die Anzahl der Dateien in einem Ordner.
Neithor
subprocess.call(['dir c: | find "File"'], shell=True)
oder
subprocess.call(['dir', 'c:', '| find "File"'], shell=True)
funktioniert.
Python übersetzt den Befehl
'"dir c: | find \"file\""'
den Fehler verursacht hat.
Gibt es eine Problemumgehung dafür?
In Verbindung stehende Anmerkung: http://www.cmi.ac.in/~madhavan/courses/prog2-2015/docs/python-3.4.2-docs-html/library/subprocess.html#notes
Dank
Leider mit Schale = false, konnte es mit Fehlern: FileNotFoundError: [WinError 2] Das System der Datei – 69444091
@ 69444091 angegeben nicht finden können, aber Łukasz erzählt Ihnen Verwenden Sie 'shell = True', außer mit einer Zeichenfolge anstelle einer Liste. 'subprocess.list2cmdline' weiß nicht, wie man eine Argumentliste in eine cmd-Shell-Befehlszeile konvertiert. Um 'FileNotFoundError' zu erhalten, ist' dir' ein eingebauter Befehl in der cmd-Shell. Verwenden Sie den Befehl 'wher.exe', um festzustellen, ob ein Befehl eine externe ausführbare Datei (z. B.' xcopy.exe') oder in die Shell integriert ist (z. B. 'copy'). – eryksun