私は、同じサーバーに接続し、関連しているが異なることを行う一連のコマンドラインツールに取り組んでいます。ユーザーが、すべてのツールで共有できる接続情報などの共通の引数を配置できる単一の構成ファイルを持つことができるようにしたいと考えています。理想的には、私のために次のことを行うものが欲しいです:
- コマンドラインでサーバーアドレスが指定されている場合は、これを使用し、他の値を無視します
- サーバー アドレスがコマンド ラインで指定されていないが、コマンド ラインで指定された構成ファイルにある場合は、このアドレスを使用します。その他の値は無視してください。
- サーバーアドレスがコマンドラインまたはコマンドで指定された構成ファイルで指定されていないが、ユーザーのホームディレクトリの構成ファイル (たとえば.myapprc ) で使用できる場合は、この値を使用します。
- サーバーアドレスが上記のメカニズムのいずれにも指定されていない場合、エラーメッセージが表示されて終了します。
これに最も近いのはconfigparseモジュールです。これは、構成ファイルも見るオプションパーサーを提供することがわかりますが、必要な「どこかに指定する必要がある」という概念を持っていないようです。
上記の私のユースケースをカバーできる既存のモジュールを知っている人はいますか? そうでない場合は、optparse、configparse、または私がレビューしていない他のモジュールへの単純な拡張も大歓迎です。