簡體   English   中英

在python 3中導入模塊的正確方法

[英]proper way to import modules in python 3

我有一個項目,如:

./project_dir/
├── project.py
├── __init__.py
└── lib
    ├── constants.py
    ├── __init__.py
    ├── a.py
    ├── b.py
    ├── test_a.py
    └── test_b.py

a.py

如果我確實import constants

b.pyfrom a import someClass

project.py導入ab的正確方法是什么? 它通常拋出

ModuleNotFoundError: No module named 'a'

如何從a和b導入東西?

未找到模塊讓您知道它尚未在當前路徑中被發現。 如果您在 project.py 目錄中處於活動狀態(從那里運行時這是正常的),則需要包含如下內容:

from lib.a import someClass

# call someClass
var = someClass()

或者

from lib import a,b

# call someClass
var = a.someClass()

完整的解決方案:

項目.py

from lib import a,b

一個.py

from . import constants

class someClass:
    pass

b.py

from .a import someClass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM