2

不管什么原因,

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:\

哪个,是错误的。

4

2 回答 2

2

如果你只是想改变当前的工作目录,你可以使用:

os.chdir('c:\\test')

请注意双反斜杠,因为反斜杠是 Python 中需要转义的特殊字符。

此外,要检查您当前的工作目录,您可以使用:

os.getcwd()
于 2013-08-29T12:18:43.320 回答
0

使用 Win7 和 Python 2.6 和 2.7 测试,按预期工作 (STDOUT:: C:\test)。

所以这似乎与WinXP有关。

于 2013-08-30T14:05:50.613 回答