亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 3.3+中的軟件包不需要__init__.py嗎

Python 3.3+中的軟件包不需要__init__.py嗎

神不在的星期二 2019-12-11 10:09:41
我正在使用Python 3.5.1。我在這里閱讀了文檔和包部分:https : //docs.python.org/3/tutorial/modules.html#packages現在,我具有以下結構:/home/wujek/Playground/a/b/module.pymodule.py:class Foo:    def __init__(self):        print('initializing Foo')現在,在/home/wujek/Playground:~/Playground $ python3>>> import a.b.module>>> a.b.module.Foo()initializing Foo<a.b.module.Foo object at 0x100a8f0b8>同樣,現在在家里,超級文件夾Playground:~ $ PYTHONPATH=Playground python3>>> import a.b.module>>> a.b.module.Foo()initializing Foo<a.b.module.Foo object at 0x10a5fee10>實際上,我可以做各種事情:~ $ PYTHONPATH=Playground python3>>> import a>>> import a.b>>> import Playground.a.b為什么這樣做?我雖然都需要__init__.py文件(空文件可以工作),a并且b要module.py在Python路徑指向Playground文件夾時可導入?這似乎與Python 2.7有所不同:~ $ PYTHONPATH=Playground python>>> import aImportError: No module named a>>> import a.bImportError: No module named a.b>>> import a.b.moduleImportError: No module named a.b.module隨著__init__.py在這兩個~/Playground/a和~/Playground/a/b它工作正常。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 324 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號