有誰知道某人會如何使用Python來更改用戶所在的當前目錄?Python更改用戶目錄
我目前正在研究Python腳本。該腳本將由終端/終端仿真器中的用戶使用。當滿足某些標準時,腳本會將用戶移動到正確的目錄。我遇到的問題是我可以移動Python腳本的工作目錄,但是一旦腳本退出,用戶仍然在他們運行腳本的目錄中。任何想法如何實現這一目標?
有誰知道某人會如何使用Python來更改用戶所在的當前目錄?Python更改用戶目錄
我目前正在研究Python腳本。該腳本將由終端/終端仿真器中的用戶使用。當滿足某些標準時,腳本會將用戶移動到正確的目錄。我遇到的問題是我可以移動Python腳本的工作目錄,但是一旦腳本退出,用戶仍然在他們運行腳本的目錄中。任何想法如何實現這一目標?
對不起,你不能這樣做,與在正常的方式啓動了一項計劃。至少,你不能在POSIX兼容的操作系統中。
當您以正常方式運行腳本或程序時,它會在新進程中運行,當然,在該新進程中所做的任何更改都不會影響父進程:子進程會從其父進程繼承環境,家長的環境不能受到孩子對其環境所作的任何改變的影響。
有一種解決方法:您可以將cd
命令放入腳本,然後source
腳本,該腳本在當前進程中執行腳本,而不是在新進程中運行該腳本。我猜你的Python代碼可能會創建一個很小的shell腳本,並將其更改爲所需的目錄,但是您仍然需要用戶輸入source
這個腳本來實現實際的目錄更改。當我需要爲我自己使用這個功能時,我只需打印所需的cd
命令到外殼,這樣我就可以很容易地複製&粘貼它,然後點擊輸入。 :)
看一看here關於爲什麼cd
是這樣的更多細節。
你可以使用絕對路徑的文件,或
這只是改變Python的工作目錄。我想更改用戶所在的目錄。當Python腳本退出時,用戶應該位於與運行腳本不同的目錄中。 – MDooley47
然後你想要一個shell腳本,而不是Python腳本 –
是的,我想我將不得不使它成爲一個shell腳本。謝謝! – MDooley47