Ich finde das Subprozess-Modul, in dem Sie eine Liste anstelle einer Zeichenfolge laden (Shell = True), um wirklich frustrierend. Intuitiv subprocess.call ([ "Modul", "Liste"]) sollte funktionieren, aber es funktioniert nicht und ergibt dies:Warum schlägt subprocess.call (["module", "list"]) fehl?
File "test.py", line 45, in main
subprocess.call(["module","list"])
File "/tools/general/app/Python-2.7.3/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/tools/general/app/Python-2.7.3/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/tools/general/app/Python-2.7.3/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
jedoch subprocess.call("module list", shell=True)
Werke. Warum?
vielleicht eine Shell-init-Datei nicht einig Pfade Manipulationen zu machen, so dass 'module' gefunden werden kann? – mgilson
Funktioniert es, wenn Sie den vollständigen Pfad zum 'Modul' Programm verwenden? – Barmar