无论出于什么原因,
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:\
这是错误的。
最佳答案
如果您只是想更改当前工作目录,您可以使用:
os.chdir('c:\\test')
请注意双反斜杠,因为反斜杠是 Python 中需要转义的特殊字符。
此外,要检查当前的工作目录,您可以使用:
os.getcwd()
关于python - subprocess.Popen - `cwd` 不被尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18509979/