1
我正在尋找一種pythonic方式來處理以下軟件包結構問題。以pythonic方式使用類似java的導入
在我的項目中,我實現了幾個文件解析器。這是我的封裝結構的第一個想法:
myproject
└── parsers
├── __init__.py
├── parser_a.py
└── parser_b.py
這種方法的缺點是需要進口相當冗長:
from myproject.parser.parser_a import Parser_A
from myproject.parser.parser_b import Parser_B
我覺得這進口的還要好:
from myproject.parser import Parser_A
from myproject.parser import Parser_B
至少有兩種方法可以實現這一點:
i)將所有解析器放入一個h uge python模塊。
myproject
└── parser.py
但是,這將導致巨大的,可能混淆parser.py文件
II)拆分parser.py模塊在多個文件[1]
myproject
├── parser.py
└── parsers
├── __init__.py
├── parser_a.py
└── parser_b.py
內容parser.py:
from parsers.parser_a import ParserA
from parsers.parser_b import ParserB
這種方法避免了單個文件的問題,但是它看起來有點冒險。
這可能是一個意見問題,但我正在尋找pythonic方式來處理這類問題。使用那些縮短的,類似於java的進口是可以接受的嗎?如果是這樣 - 首選方式是什麼?