如何更改从中调用python脚本的命令窗口的当前目录
我正在编写一个python脚本,它应根据用户输入将当前shell的目录(cd)更改为特定目录。
问题在于,每当脚本结束时,我都会回到原始路径,而无需更改。
bash-4.2$ pwd
/home/<username>/scripts
bash-4.2$ ./enterFW.py -fw <fw>
/filer/syslog_ng/2019/<fw>/2019/01/28 #<--I print the new directory, and it should be correct
bash-4.2$ pwd
/home/<username>/scripts #<-however after the script ends, i am back again to the original path
bash-4.2$
我使用subprocess.call(['cd', <new path>])
或os.chdir(<new path>)
更改目录...都相同。
请检查并告知
答案 0 :(得分:0)
我能想到的唯一方法是实际解决方法。您在哪里获取您的输出 当前外壳中的脚本。否则,传送将在子外壳中执行。
import os
new_dir = "/home/cabox/workspace"
os.chdir(new_dir)
print os.getcwd()
在linux shell中:
cabox@box-codeanywhere:~/workspace/cliRtStocks$ pwd
/home/cabox/workspace/cliRtStocks
cabox@box-codeanywhere:~/workspace/cliRtStocks$ a=`python myprogram.py`;cd $a
cabox@box-codeanywhere:~/workspace$ pwd
/home/cabox/workspace
cabox@box-codeanywhere:~/workspace$