我在用着os.system()
执行 Windows 命令行 shell。我想更改 Windows cmd 当前目录。这是一种方法:
os.chdir('newPath')
But chdir()
还将更改实际的 Python 当前工作目录。我不想更改实际的 Python 工作目录,因为我希望脚本的其他部分在原始的当前工作目录中运行。我想改变的只是Windows cmd当前工作目录。换句话说:我想要os.system()
命令在一个当前工作目录(Windows cmd 当前工作目录)中运行,而其他任何内容应在另一个当前工作目录(实际的 Python 当前工作目录)中运行。
这是另一种改变的尝试onlyWindows cmd 当前目录:
os.system('cd newPath')
然而,这显然是行不通的,因为在执行之后cd newPath
命令 Windows cmd 当前目录被重置(因为我不会在下一次调用中使用相同的 Windows 命令 shellos.system()
).
是否可以为 Windows cmd shell 提供单独的当前工作目录? (与实际的当前工作目录分开)。
The subprocess
模块旨在取代os.system
.
除此之外,它还为您提供subprocess.Popen()
,这需要一个cwd
参数指定生成进程的工作目录(适合您的情况)。
See: http://docs.python.org/library/subprocess.html http://docs.python.org/library/subprocess.html
示例用法替换os.system
:
p = subprocess.Popen("yourcmd" + " yourarg", shell=True, cwd="c:/your/path")
sts = os.waitpid(p.pid, 0)[1]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)