私は一連の Python スクリプトを開発してきました。これらのスクリプト用に特別に作成したパーサーを使用して、一連の入力ファイルを操作します。プロジェクトの設計は、一般的に次のようになります。
/project/project/__init__.py
/project/project/parser.py
/project/project/helperfunctions.py
/project/preferences.ini
/project/script1.py
/project/script2.py
各スクリプトはhelperfunctions.py
、環境設定ファイルの読み取りなどのタスクのために から特定の関数を呼び出します。これがなければスクリプトごとに複製する必要があるコードです。ヘルパー関数はパーサーからはまったく使用されません。
しかし今、私はプロジェクトをパーサー自体に向けて調整することに決めましたが、スクリプトは脇に置いておきます。したがって、プロジェクトは次のようになります。
/project/scripts/preferences.ini
/project/scripts/script1.py
/project/scripts/script2.py
/project/parser.py
/project/setup.py
これはよりクリーンな設計だと思いますが、問題は、これらのヘルパー関数をどこに配置すればよいか分からないことです。私が思いついたアイデアは次のとおりです。
- パーサーと一緒に
setup.py
インストールしてください。helperfunctions.py
ヘルパー関数は、パーサーに実際には関係のない便利なメソッドを提供するだけなので、私はこれに反対です。 - ヘルパー関数を一種の「隠し」クラスとしてパーサーにマージします。上記と同じ理由で反対です。
- ヘルパー関数を に入れ、
/project/scripts/
インストールを回避します。私はこのアイデアが好きではありませんhelperfunctions.py
。
この問題を解決する最も Pythonic な方法は何ですか?