如何在不必提供绝对路径的情况下访问PyDev项目的资源目录中的文件?

时间:2014-07-25 00:30:24

标签: python path

我在eclipse中有一个PyDev项目,由一个" src"目录和" rsc" 。目录

我想在" rsc"中读/写文件。 DIR。如果我在" src"中的.py文件中给出例如以下命令。 DIR:

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

我收到错误说"没有这样的文件:rsc / test.txt",(给出绝对路径(即" home /.../ test.txt")有效。)

这适用于java项目。我怎么能为python项目做这个?这个问题特定于日食吗?

为了澄清,我的目标结构如下:proj_dir - > src - > file.py,proj_dir - > rsc - > test.txt我正在src中运行一个文件e-g" file.py"

1 个答案:

答案 0 :(得分: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=' ')

如果您的src和rsc目录共享同一个父目录,这将始终有效。