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的路径,但这在实际用例中非常困难。

最佳答案

不,不是。 Python无法以这种方式工作。文件从当前工作目录或特定的解析路径加载。没有用于加载任意文件的一组预定义路径。

将数据和程序逻辑分开是Python(以及MATLAB以外的其他大多数编程语言)的重要概念。 python的一个关键原则是“显式优于隐式”。确保显式定义要加载的数据文件更加安全,可靠且错误少。

因此,尽管其他人已经展示了您可以如何破解某些变通办法,但我会非常非常强烈地建议您不要使用这种方法。这将使维护代码更加困难。

10-06 05:05
查看更多