首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何引用模块中的数据资产?

如何引用模块中的数据资产?
EN

Stack Overflow用户
提问于 2021-11-10 13:56:30
回答 1查看 22关注 0票数 0

我正在构建一个Python模块,该模块使用存储在模块目录中的资产文件(在本例中为JSON文件):

代码语言:javascript
复制
root
 +--- mymodule
         +------ __init__.py
         +------ mymodule.py
         +------ myasset.json

但是,当我把这个open

代码语言:javascript
复制
with open("myasset.json", "r") as assetfile:
     ....

它找不到它,因为工作目录是其他目录。

我应该如何引用模块中的资产文件?

EN

回答 1

Stack Overflow用户

发布于 2021-11-10 14:25:43

这取决于您运行的是哪个文件。

如果您在root中运行main.py,则可以使用以下命令访问路径:

代码语言:javascript
复制
# mymodule/mymodule.py

# path of this file file
print(os.path.realpath(__file__))
print(__file__)

# path of this folder
print(os.path.dirname(os.path.realpath(__file__)))
print(pathlib.Path(__file__).parent)

# main.py folder
print(pathlib.Path().resolve())
print(os.getcwd())

# python paths list
print(sys.path)

在您的案例中使用

代码语言:javascript
复制
from pathlib import Path 

with open(Path(__file__).parent.joinpath("myasset.json"), "r") as assetfile:
    ....
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69914567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档