sna*_*ile 5 python cmd working-directory
我正在使用os.system()
Windows命令行shell执行.我想更改Windows cmd当前目录.这是一种方法:
os.chdir('newPath')
Run Code Online (Sandbox Code Playgroud)
但是chdir()
也会改变实际的Python当前工作目录.我不想更改实际的Python工作目录,因为我希望我的脚本的其他部分在原始的当前工作目录中运行.我想要更改的只是Windows cmd当前工作目录.换句话说:我希望os.system()
命令在一个当前工作目录(Windows cmd当前工作目录)中运行,而其他任何东西应该在另一个当前工作目录(实际的Python当前工作目录)中运行.
这是另一个尝试仅更改Windows cmd当前目录:
os.system('cd newPath')
Run Code Online (Sandbox Code Playgroud)
但是,这显然不起作用,因为在执行cd newPath
命令之后,Windows cmd当前目录被重置(因为我不会在下次调用时使用相同的Windows命令shell os.system()
).
是否可以为Windows cmd shell创建单独的当前工作目录?(与实际当前工作目录分开).
该subprocess
模块旨在取代os.system
.
除此之外,它还为您提供subprocess.Popen()
了一个cwd
参数来指定生成进程的工作目录(完全符合您的情况).
请参阅: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]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3140 次 |
最近记录: |