从python脚本更改目录以调用shell

时间:2018-09-10 09:34:06

标签: python bash cd subshell

我想构建一个python脚本,该脚本可以操纵其调用bash shell的状态,尤其是开头的工作目录。

使用os.chdiros.system("ls .."),您只能更改解释器的路径,但是我如何才能将注释更改应用于脚本调用者?

谢谢您的提示!

1 个答案:

答案 0 :(得分:4)

您不能直接通过python来执行此操作,因为子进程永远无法更改其父进程的环境。

但是您可以从您的shell创建一个 source 的shell脚本,即它在同一进程中运行,在该脚本中,您将调用python并将其输出用作名称。 cd的目录:

/home/choroba $ cat 1.sh
cd "$(python -c 'print ".."')"
/home/choroba $ . 1.sh
/home $