Ten*_*gis 5 python bash
我巧合地发现我无法在python代码中更改实际目录.我的测试程序如下:
from os import system def sh(script): system("bash -c '%s'" % script) sh("cd /home") sh("pwd")
输出pwd不是/home,而是上面代码所在的目录.
pwd
/home
有人可以解释为什么会这样吗?
Thi*_*ter 6
问题是您执行shell命令而不是实际使用更改目录 os.chdir()
os.chdir()
每次os.system()调用都在新shell中执行给定的命令 - 因此脚本的工作目录根本不受影响.
os.system()
cni*_*tar 5
该目录实际上已更改,但在另一个进程中,您的脚本的子项.要记住一条简单的规则:孩子永远不会影响其父母的环境(PATH,CWD等).
归档时间:
13 年,5 月 前
查看次数:
3067 次
最近记录: