python 是否具有与 Matlab 的 addpath 等效的功能?我知道 sys.path.append,但这似乎只适用于 python 文件/模块,不适用于一般文件。
假设我在 C:\Data 中有一个文件 config.txt,而当前工作目录是其他目录,比如 D:\my_project。
我想要的代码类似于:
def foo():
with open('config.txt') as f:
print(f.read())
def main():
addpath(r'C:\Data')
foo()
显然我可以在这里传递 foo 的路径,但在实际用例中这非常困难。
请您参考如下方法:
您不能像在 matlab 中那样添加多个路径。
您可以使用 os.chdir 更改目录,并从该目录访问文件和子目录:
import os
def foo():
with open('config.txt') as f:
print(f.read())
def main():
os.chdir(r'C:\Data')
foo()
要管理多个目录,使用在上下文到期后返回到前一个目录的上下文管理器:
import contextlib
import os
@contextlib.contextmanager
def working_directory(path):
prev_cwd = os.getcwd()
os.chdir(path)
yield
os.chdir(prev_cwd)
def foo():
with open('config.txt') as f:
print(f.read())
def main():
with working_directory(r'C:\Data'):
foo()
# previous working directory
