lunar hat geschrieben:Im Übrigen erschließt sich mir nicht, wieso Du eine Zeichenkette mit dem Befehl zusammenbastelst, nur um diese dann wieder in eine Liste zu trennen. Wieso nicht einfach gleich den Befehl als Liste zusammenbauen?
Das mache ich weil ich es nicht hin gekriegt habe einen funktionstüchtige Liste zu erstellen die eine so merkwürdige Kombination von Hochkommas, Gänsefüßchen unterbringt.

und das in eine Liste unterzubringen das funktioniert eventuell gar nicht zumindest hatte ich es nicht geschafft.
Ich habe im weiteren eine Frage zu subprocess.check_call(). Ich verstehe die Dokumentation nicht ganz. Was meinen die mit:
If the exit code was zero then return, otherwise raise CalledProcessError
Wenn ein Fehler entsteht wird das Objekt um 1 erhöht und es gibt aber kein return?
Ich habe check_call mal getestet:
Code: Alles auswählen
>>> b=subprocess.check_call(["ls", "-l", "/tmesl/"])
>>> StdErr: ls: Zugriff auf /tmesl/ nicht möglich: Datei oder Verzeichnis nicht gefunden
Traceback (innermost last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/subprocess.py", line 488, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['ls', '-l', '/tmesl/']' returned non-zero exit status 2
>>> b
Traceback (innermost last):
File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
b enthält im Fehlerfall nicht den returncode, oder sehe ich da was falsch.
Grüße Markus