[英]how can i control modules in package to import in python?
考慮一個例子,
我有一個包含模塊列表的軟件包:
/mypackage/
__init__.py
mod1.py
mod2.py
mod3.py
prog1.py
:我只想在這里允許mod2
prog2
:允許mod1,2
如果我寫
prog1.py
import mypackage
# only mod2 should import
prog2.py
import mypackage
# only mod1,mod3 should import
如何在包裝或模塊級別進行限制?
from mypackage import mod2
要么
from mypackage import mod1, mod3
我不認為軟件包應該控制誰以及如何導入它們,基本上軟件包不應該了解其進口商。 但是,如果出於某種原因仍然是個好主意,則可以通過以下方式獲取主文件名:
import __main__
main_file = __main__.__file__
然后修改
__all__
基於主文件名的模塊屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.