繁体   English   中英

如何将 python 模块和数据存储在目录中,并导入该模块以访问数据

[英]How to store a python module and data in a directory, and import that module with acess to the data

设置

我有以下结构(使用项目根目录中的tree打印):

└── stuff
    ├── __init__.py
    ├── mod.py
    └── stuff_data.py

我希望能够从项目根目录中打开 ipython session,然后执行以下操作:

import stuff.mod

但它目前不起作用。

文件内容

这些文件具有以下内容:

stuff_data.py

paper = {"type_0": "lined", "type_1": "plain"}

修改文件

from stuff_data import paper

def f():
    """print something...
    """
    print(paper)

当我尝试以下(从项目根目录)

import stuff.mod

我得到错误

----> 1 from stuff_data import paper
      2
      3
      4 def f():
      5     """print x + 1

ModuleNotFoundError: No module named 'stuff_data'

我也想知道 - 我应该如何构建事物,以便能够以我上面概述的方式使用它们。 或者 - 应该做什么。

您的mod.py文件的导入应该是相对导入:

from .stuff_data import paper

或者

从项目的根目录开始的绝对导入:

from stuff.stuff_data import paper

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM