簡體   English   中英

如果某些目錄沒有該文件,在 Python 代碼庫的子目錄中添加“__init__.py”有什么缺點?

[英]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將為aaaaaaa返回相同的數據。 所以,我必須發送完整的模塊路徑並為目錄工作。

將為aaaaaaa返回相同的數據

由於我不熟悉pyclbr ,因此不清楚您指的是什么數據,但是如果您想要僅aaa特定的內容,則需要將其寫入 init 文件中

暫無
暫無

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

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