在安装了32位
python 2.7的64位系统中,我正在尝试执行以下操作:
import subprocess
p = subprocess.call('dir', shell=True)
print p
但这给了我:
Traceback (most recent call last):
File "test.py", line 2, in
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
如果我在终端做…
dir
…它当然打印当前的文件夹内容.
我已经尝试将shell参数更改为shell = False.
编辑:实际上我无法使用subprocess.call()调用路径上的任何可执行文件.语句p = subprocess.call(‘dir’,shell = True)在另一台机器上工作正常,我认为它是相关的.
如果我做
subprocess.call('PATH', shell=True)
然后我得到
Traceback (most recent call last):
File "test.py", line 4, in
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
如果我做:
import os
print os.curdir
然后我得到
.
以上所有这些都是在以管理员模式启动的终端中执行的.