1

内部ソフトウェア開発プロセス用に、python ビルド パッケージと機能テスト パッケージを実装しようとしています。私の主な目標は、すべてのモジュールがパースペクティブ パッケージ内から使用するグローバル/標準ロガー (ここでの参照と同様) と argparser を実装することです (つまり、ビルド ロガーとパーサーは、テスト スイートのロガーとパーサーとは異なります)。

__init__.pyこれはパッケージで行う必要がありますか? これを達成する他の方法はありますか?本当のニーズが何であるかはまだわかりません__init__.pyか?おそらく、これは私自身の質問に答えましたか?

私は多数の Python モジュールやその他のアプリを作成しましたが、パッケージやライブラリは作成しませんでした。このコンセプトは、これらのプロセスを標準化するなど、私に新しい可能性をもたらしているようです。

基本的に、要約すると、これらのパッケージの私の目標は次のとおりです。

1.) 引数の長いリストの冗長な受け渡し/解析、および/またはシステム環境へのアクセスの必要性を排除します。

2.) さまざまなテストやビルド スクリプトから過去に見られた無数の出力を排除します。

3.) 使いやすい自己文書化パッケージを提供します。パッケージのドキュメントに関するアドバイスも非常に役立ちます。:)

これにより、これらのパッケージのユーザーは次のことができるようになります。

1.) 標準の引数セットに簡単にアクセスできます。たとえば、パッケージ内のすべてのモジュールは (優先順位に従って) 標準フラグを使用してコマンドライン引数を解析したり、構成ファイルをロードしたり、デフォルト値を使用したりします。

2.) エラー、警告、およびデバッグ ステートメントを標準的な方法で簡単にログに記録します。

3.) これらのテスト/ビルド モジュールが渡されると、最終的には "ユーザー" (つまり、モジュールを作成していない人) が普遍的な方法で実行できるようになります。

さまざまなオプションと可能性が圧倒的に多いため、実際の「Pythonic」実装のアドバイスを探していると思います。前もって感謝します。

4

1 に答える 1

0

ロギングについては、python logging documentationを参照してください。非常に柔軟なロギング システムを実装するのは非常に簡単です。

についての質問について__init__.pyは、他のプログラミング言語から来た場合は、コンストラクターと考えてください。ロード時にデフォルト値を割り当てたい場合は、__init__.py.

私はあまり詳しくないargparseので、他の誰かがそれに光を当てることができるかもしれません。

于 2011-10-14T16:27:02.350 に答える