Python更改用户';目录

Python更改用户';目录,python,directory,subprocess,cd,Python,Directory,Subprocess,Cd,有人知道有人会如何使用Python来更改用户所在的当前目录吗 我目前正在编写Python脚本。此脚本将由终端/终端仿真器中的用户使用。当满足某些条件时,脚本会将用户移动到正确的目录。我遇到的问题是,我可以移动Python脚本的工作目录,但一旦脚本退出,用户仍在运行脚本的目录中。关于如何实现这一点有什么想法吗?您可以使用文件的绝对路径,或者 抱歉,您不能使用以正常方式启动的程序执行此操作。至少,在兼容POSIX的操作系统中,您不能这样做 当您以正常方式运行脚本或程序时,它会在新进程中运行,当然,在

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


我目前正在编写Python脚本。此脚本将由终端/终端仿真器中的用户使用。当满足某些条件时,脚本会将用户移动到正确的目录。我遇到的问题是,我可以移动Python脚本的工作目录,但一旦脚本退出,用户仍在运行脚本的目录中。关于如何实现这一点有什么想法吗?

您可以使用文件的绝对路径,或者


抱歉,您不能使用以正常方式启动的程序执行此操作。至少,在兼容POSIX的操作系统中,您不能这样做

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

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


查看有关
cd
为什么是这样的更多详细信息。

这只是更改了Python的工作目录。我想更改用户所在的目录。当Python脚本退出时,用户应该与运行脚本的用户位于不同的目录中。然后,您需要一个shell脚本,而不是Python脚本是的,我想我必须将其设置为shell脚本。非常感谢。