打开包目录中的文件,而不是从当前目录打开

时间:2016-10-01 11:31:21

标签: python python-packaging

我创建了一个Python包并在本地安装。使用命令pip install .。在我的包中,有必要打开这样的文件。

open('abc.txt','r+')

但我的问题是它试图在工作目录中打开文件而不是包安装目录。我认为绝对路径不会解决我的问题。

所以我的问题是,如何打开包内的文件?

NB :当我搜索它时,看到os.sys.path可能会有所帮助。但我没有得到任何明确的解决方案。

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以尝试这样:

import os
import inspect  

def open_file(filename):
  pkg_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
  return open(pkg_dir + "/" + filename,'r+')