无论出于何种原因,
from subprocess import Popen, PIPE, STDOUT
handle = Popen('echo %CD%', shell=True, stdout=PIPE, stderr=STDOUT, stdin=PIPE, cwd=r'C:\test')
print 'STDOUT::',handle.stdout.readline().strip()
给我:
STDOUT:: C:\Documents and Settings\myusername\Desktop
Windows XP(无论出于何种原因)
Python 2.6.6
这可能与Windows如何在行中执行命令有任何相似之处,例如:
C:\> cd "C:\test\" && echo %CD%
C:\
哪个是错的。
答案 0 :(得分:2)
如果您只是想更改当前的工作目录,可以使用:
os.chdir('c:\\test')
请注意双反斜杠,因为反斜杠是Python中需要转义的特殊字符。
另外,要检查当前的工作目录,可以使用:
os.getcwd()
答案 1 :(得分:0)
使用Win7和Python 2.6和2.7测试,按预期工作(STDOUT :: C:\ test)。
所以这似乎与WinXP有关。