Python-subprocess.Popen (), error (No such file or directory)
Ich versuche, die Anzahl der Zeilen in einer Datei mit Python-Funktionen. Im aktuellen Verzeichnis, während os.system("ls")
die Datei findet, wird der Befehl subprocess.Popen(["wc -l filename"], stdout=subprocess.PIPE
) funktioniert nicht.
Hier ist mein code:
>>>import os
>>>import subprocess
>>>os.system("ls")
sorted_list.dat
0
>>>p=subprocess.Popen(["wc -l sorted_list.dat"],stdout=subprocess.PIPE)
File "<stdin>", line 1, in <module>
File "/Users/a200/anaconda/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/Users/a200/anaconda/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
InformationsquelleAutor der Frage user2105632 | 2015-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie der übergabe von Argumenten als Liste (empfohlen):
Anders, Sie brauchen, um passieren
shell=True
wenn Sie möchten, verwenden Sie die ganze"wc -l sorted_list.dat"
string als Befehl (nicht empfohlen, kann ein Sicherheitsrisiko).Lesen Sie mehr über
shell=True
Sicherheitsprobleme hier.InformationsquelleAutor der Antwort bakkal
Tritt der Fehler auf, weil Sie versuchen, führen Sie einen Befehl namens
wc -l sorted_list.dat
das heißt, es ist auf der Suche nach einem Datei Namen wie"/usr/bin/wc -l sorted dat"
.Teilen Sie Ihre Argumente:
InformationsquelleAutor der Antwort Antti Haapala