如何在PyDev项目中访问资源目录的文件,而无需提供绝对路径?
我在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=' ')
只要你的源目录和目标目录有相同的父目录,这种方法总是有效的。