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

Open a file inside the package directory instead of opening from current directory

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

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

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

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

注意:当我搜索它时发现 os.sys.path 可能有帮助。但是我没有得到任何明确的解决方案。

谢谢,

你可以这样试试:

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+')