我们正在使用部署到 Windows 和 Linux 的代码存储库 - 有时位于不同的目录中。项目内部的模块之一应该如何引用项目中的非 Python 资源之一(CSV 文件等)?
如果我们这样做:
thefile = open('test.csv')
或者:
thefile = open('../somedirectory/test.csv')
只有当脚本从一个特定目录或目录的子集运行时,它才会起作用。
我想做的是:
path = getBasePathOfProject() + '/somedirectory/test.csv' thefile = open(path)
可能吗?
尝试使用相对于当前文件路径的文件名。’./my_file’ 的示例:
fn = os.path.join(os.path.dirname(__file__), 'my_file')
在 Python 3.4+ 中,您还可以使用pathlib:
fn = pathlib.Path(__file__).parent / 'my_file'