使用子程序變更目前目錄
在子目錄或超級目錄中執行腳本時,必須先導覽至所需的目錄。但是,使用 subprocess 更改工作目錄可能會遇到錯誤。在本文中,我們將探討此問題並提供解決方案。
嘗試透過子程序執行「cd」指令時會出現問題,如提供的範例程式碼所示。 Subprocess 嘗試將 'cd' 作為程式調用,而實際上,它是一個 shell 內部命令,需要調用為 'cd
要避免此錯誤,請使用 'subprocess.call ('cd ..', shell=True)' 指定該指令應由 shell 執行。但是,這種方法是不必要的,因為更改子進程中的目前目錄不會影響父進程的目錄。
相反,有其他方法可以實現所需的功能:
<code class="python">os.chdir("/") subprocess.Popen("ls") os.chdir(wd)</code>
<code class="python">subprocess.Popen("ls", cwd="/")</code>
透過使用這些方法,您可以在使用子程序在不同目錄中執行腳本時有效控制目前目錄。
以上是使用子進程時如何更改目前目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!