[英]What is the downside of adding '__init__.py' in sub-directories of a Python codebase if certain directories do not have that file?
自 Python 3.3 起,在源代碼的每個目錄中都必須包含__init__.py
的要求已被刪除。 我的目標是使用pyclbr
讀取給定源代碼的所有模塊和子模塊。 但是,在某些情況下,特定模塊是其他模塊的子模塊,並且並非所有父模塊都是包。 pyclbr
不理解目錄和包之間的區別。
因此,在嘗試解決此問題時,我想在每個不是 package 的目錄中添加__init__.py
文件。 我不確定缺點是什么。 我禁止偏離 Python 社區設定的標准,這可能會導致稍后出現錯誤。
如上面的超鏈接所述,我可以 go 僅指定模塊並將其完整路徑提供給pyclbr
但這在以下源代碼結構的情況下不起作用:
(gruml) ➜ gruml git:(run-sequence-diagram) ✗ tree a
a
└── a
└── a
├── __init__.py
└── a.py
2 directories, 2 files
這不起作用,因為將a
發送到pyclbr
將為aaa
和aaaa
返回相同的數據。 所以,我必須發送完整的模塊路徑並為目錄工作。
將為
aaa
和aaaa
返回相同的數據
由於我不熟悉pyclbr
,因此不清楚您指的是什么數據,但是如果您想要僅aaa
特定的內容,則需要將其寫入 init 文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.