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

问题描述 投票:0回答:1

我想构建一个python脚本,它可以操纵它调用bash shell的状态,特别是它的工作目录。

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

谢谢你的提示!

python bash cd subshell
1个回答
4
投票

你不能直接从python那里做到这一点,因为子进程永远不能改变其父进程的环境。

但是你可以创建一个从shell派生的shell脚本,即它在同一个进程中运行,在那个脚本中,你将调用python并使用它的输出作为cd目录的名称:

/home/choroba $ cat 1.sh
cd "$(python -c 'print ".."')"
/home/choroba $ . 1.sh
/home $
© www.soinside.com 2019 - 2024. All rights reserved.