Re: [問題] 啟動其他的 __init__
※ 引述《largesperm (reindeer)》之銘言:
: 請問一下
: 有一個資料夾 軟體會去讀裡面所有第一層的資料夾中的 __init__
: 因為會用到其他模組 所以我想要把其他模組的資料夾放在第一層裡面
: 但是這樣軟體不會自動去讀第二層的 __init__
: 所以我想說在第一層資料夾的 __init__ 裡面寫
: 去讀第二層裡面所有的資料夾中的 __init__
: 請問指令應該怎麼寫 謝謝
大致的方法如下:
parent_package:
__init__.py
a.py
b.py
children_package:
__init__.py
c.py
d.py
如果要在parent的__init__.py讀取到children的__init__.py,
只要在parent的__init__.py加入import parent_package.children_package
就會讀取到children的__init__.py.
若要使用import children_package.*的這種方式將c.py, d.py的methods讀進來,
則在__init__.py先將c,d的method import進來後,
再用 __all__=["c.method1", "d.method2",...]
等方式寫明*代表那些methods.
至於有無import成功,使用dir()來查看全域環境屬性名稱,
或者用dir(package)查看特定package的屬性名稱即可知道。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 223.140.125.243
推
09/20 14:36, , 1F
09/20 14:36, 1F
→
09/20 14:38, , 2F
09/20 14:38, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):