打开包目录内的文件,而不是从当前目录打开
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+')
我创建了一个 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+')