簡體   English   中英

如何從python中沒有__init__.py的文件夾導入文件?

[英]How do I import files from a folder without an __init__.py in python?

在此輸入圖像描述 我看到了這種格式的一些代碼:

from b.c import *

但是b沒有__init__.py ,我不知道它是如何成功的。


目錄結構如下所示:

a.py
b
    c.py

即使文件夾b沒有__init__.py ,是否可以from bc import * a.py from bc import *

由於PYTHONPATH的構造方式,這在Python 2.7中是不可能的。 請參閱此問題以獲得出色的解釋。


然而在python中沒有什么是不可能的......

感謝PEP 420 :隱式命名空間包 :這在Python 3.3及更高版本中確實是可行的。

__init__.py文件現在是命名空間包的可選文件:

在Windows上使用Python 3.5


a.py
b/
    c.py

B / c.py

def hello_world():

    print("Hello World!")

a.py

from b.c import *

hello_world

然后:

>>> import a
Hello World!

有關命名空間包與常規包的注意事項的更多信息可以在PEP和David Beazley的優秀演講模塊和包中找到:Live and Let Die!

暫無
暫無

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

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