Skip to main content
 首页 » 编程设计

Python 相当于 Matlab addpath

2025年05月04日14zhenyulu

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