如何在PyDev项目中访问资源目录的文件,而无需提供绝对路径?

0 投票
1 回答
770 浏览
提问于 2025-04-18 14:41

我在Eclipse里有一个PyDev项目,里面有一个“src”文件夹和一个“rsc”文件夹。

我想在“rsc”文件夹里读写文件。如果我在“src”文件夹里的.py文件中输入以下命令:

numpy.savetxt("rsc/test.txt", temp, fmt='%3.15f', delimiter=' ')

我就会收到一个错误提示,说“没有这样的文件:rsc/test.txt”(如果我给出绝对路径,比如“home/.../test.txt”就可以正常工作)。

在Java项目中这样是可以的。那么在Python项目中我该怎么做呢?这个问题是Eclipse特有的吗?

为了更清楚,我的文件夹结构是这样的:proj_dir -> src -> file.py,proj_dir -> rsc -> test.txt。我是在src文件夹里运行一个文件,比如“file.py”。

1 个回答

1

与其使用:

numpy.savetxt("rsc/test.txt", temp, fmt='%3.15f', delimiter=' ')

你可以使用:

import os, inspect
this_file = os.path.abspath(inspect.getfile(inspect.currentframe()))

project_dir = os.path.dirname(os.path.dirname(this_file))
numpy.savetext(os.path.join(project_dir,"rsc/test.txt"), temp, fmt='%3.15f', delimiter=' ')

只要你的源目录和目标目录有相同的父目录,这种方法总是有效的。

撰写回答