您可以使用以下命令更改工作目录:
import os
os.chdir(path)
使用此方法时,有两个最佳实践可遵循:
更改子流程中的当前工作目录不会更改父流程中的当前工作目录。 Python 解释器也是如此。您不能使用os.chdir()
更改调用进程的 CWD。
这是上下文管理器更改工作目录的示例。它比其他地方提到的 ActiveState 版本更简单,但这可以完成工作。
cd
import os
class cd:
"""Context manager for changing the current working directory"""
def __init__(self, newPath):
self.newPath = os.path.expanduser(newPath)
def __enter__(self):
self.savedPath = os.getcwd()
os.chdir(self.newPath)
def __exit__(self, etype, value, traceback):
os.chdir(self.savedPath)
或者使用ContextManager尝试更简洁的等效方法(如下) 。
import subprocess # just to call an arbitrary command e.g. 'ls'
# enter the directory like this:
with cd("~/Library"):
# we are in ~/Library
subprocess.call("ls")
# outside the context manager we are back wherever we started.