我有一个类似于以下的文件夹结构。
.
├── data
│ ├── __init__.py
│ └── fish.csv
└── fish_service.py
我想从
fish_service.py
访问我的鱼列表,方法是从 data
使用类似 from .data import all_fish
的东西导入它们,其中 all_fish
是 csv 中的内容列表。
我发现我可以使用以下
从
importlib.resources
读取我的csv
__init__.py
不过我很反感需要回到父文件夹导入
import csv
from importlib.resources import files
from .. import data
all_fish = []
with files(data).joinpath("fish.csv").open() as file:
reader = csv.DictReader(file)
for fish in item_reader:
all_fish.append(fish)
,PyCharm好像也不喜欢
这个解决方案确实有效,但是有没有更好的方法从我当前所在的同一模块导入我的资源?