我试图使用bash命令更改在python3
脚本中的位置。
我使用了这段小代码,但没有用:
import subprocess
args = ['cd', '/foo/bar/xxx']
subprocess.Popen(args)
我也尝试使用subprocess.call()
和subprocess.run()
,但它不会改变路径
答案 0 :(得分:3)
通过运行这些命令,您正在启动一个新进程,该进程将其目录更改为/foo/bar/xxx
,然后退出。要影响父程序的路径,请像这样使用os.chdir:
import os
os.chdir('/foo/bar/xxx')
有趣的事实:这就是为什么bash和其他shell具有cd
作为内置函数的原因;任何与cd等效的程序都只会影响其自身的路径。