有谁知道有人会如何使用 Python 来更改用户所在的当前目录?

我目前正在研究 Python 脚本。该脚本将由用户在终端/终端模拟器中使用。当满足某些条件时,脚本会将用户移动到正确的目录。我遇到的问题是我可以移动 Python 脚本的工作目录,但是一旦脚本退出,用户仍然在他们运行脚本的目录中。关于如何实现这一目标的任何想法?

最佳答案

抱歉,您无法使用以正常方式启动的程序来执行此操作。至少,您不能在符合 POSIX 的操作系统中使用。

当您以正常方式运行脚本或程序时,它会在新进程中运行,当然,在该新进程中所做的任何更改都不会影响父进程:子进程从其父进程继承环境,父进程的环境可以' t 受到 child 对其环境所做的任何改变的影响。

有一种方法可以解决这个问题:您可以将 cd 命令放入脚本中,然后 source 该脚本,它会在当前进程中执行脚本而不是在新进程中运行它。我猜你的 Python 代码可以创建一个小的 shell 脚本来更改所需的目录,但是你仍然需要用户 source 该脚本来更改实际的目录。当我需要为自己使用时,我只需将所需的 cd 命令打印到 shell,这样我就可以轻松地复制和粘贴它,然后按 Enter。 :)

查看 here 了解更多关于 cd 为什么是这样的细节。

关于Python更改用户目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45384999/

10-16 23:46