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

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

Python 包文件夾結構

Python 包文件夾結構

楊__羊羊 2021-10-26 10:45:09
我一直在研究如何為自定義 python 包構建文件夾結構。有幾次嘗試,但似乎沒有一個是普遍適用的。特別是文件的使用(或不使用\__init__.py)。我有一個由幾個子包組成的包,每個包都負責解析某種類型的文件。因此,我目前采用了這種結構:Parsers/├── __init__.py|├── ExternalPackages│   ├── __init__.py│   ├── package1│   └── package2|├── FileType1_Parsers/│   ├── __init__.py│   ├── parsers1.py│   └── containers1.py│   └── FileType2_Parsers/    ├── __init__.py    ├── parsers2.py    └── containers2.py但它似乎不是很pythonic,當我導入他的包并且我想使用某個模塊的某個類時,我必須輸入類似的東西from Parsers.FileType1_Parsers.parsers1 import example_class是否有關于如何構建此類包的約定或關于如何避免如此長的導入行的任何規則?
查看完整描述

2 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

您可以將以下行添加到 Parsers/__init__.py

from .FileType1_Parsers.parsers1 import example_class

然后,你可以導入example_class通過

from Parsers import example_class

這是大包裝中的常見做法。


查看完整回答
反對 回復 2021-10-26
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

您可以sys.path在運行時進行修改,使其包含您將使用的每個模塊的目錄。例如,對于 package1 發出以下語句:

>>> sys.path.append(r"[package directory path]\\Parsers\\FileType1_Parsers\\package1")

您也可以對包中的任何其他模塊執行此操作?,F在,你可以使用這個命令:

from package1 import example_class

希望這可以幫助!



查看完整回答
反對 回復 2021-10-26
  • 2 回答
  • 0 關注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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