Nicht finden kann die angegebene Datei bei der Verwendung Teilprozess.call('dir', shell=True) in Python

In einer 64-bit-system mit 32-bit-python 2.7 installiert, ich versuche Folgendes zu tun:

import subprocess
p = subprocess.call('dir', shell=True)
print p

Aber das gibt mir:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    p = subprocess.call('dir', shell=True)
  File "C:\Python27\lib\subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Python27\lib\subprocess.py", line 709, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 957, in _execute_child
    startupinfo)
  WindowsError: [Error 2] The system cannot find the file specified

Wenn ich in das terminal zu tun...

dir

...es natürlich druckt die vorhanden Ordner-Inhalte.

Ich habe versucht, ändern Sie den shell-parameter die shell=False.

Edit: Eigentlich kann ich nicht nennen, jede ausführbare Datei auf dem Pfad mit subprocess.call(). Die Aussage p = subprocess.call('dir', shell=True) funktioniert einwandfrei auf einer anderen Maschine und ich denke, dass es verwandt ist.

Wenn ich

 subprocess.call('PATH', shell=True)

dann bekomme ich

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    subprocess.call('PATH', shell=True)
  File "C:\Python27\lib\subprocess.py", line 522, in call
     return Popen(*popenargs, **kwargs).wait()
  File "C:\Python27\lib\subprocess.py", line 709, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 957, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

Wenn ich das Tue:

import os
print os.curdir

dann bekomme ich

.

Alle der oben genannten ist ausgeführt im terminal gestartet im Administrator-Modus.

InformationsquelleAutor der Frage Andreas | 2013-12-02

Schreibe einen Kommentar