[解決済み] 設定ファイル、環境、コマンドライン引数を解析し、単一のオプションのコレクションを取得します。
2022-08-03 04:13:29
質問
Pythonの標準ライブラリには、以下のようなモジュールがあります。 設定ファイルのパース ( configparser ), 環境変数の読み込み ( os.environ )、および コマンドライン引数のパース ( argparse ). 私はそれらすべてを行うプログラムを書きたいのですが、さらに。
-
を持つ。 オプション値のカスケード :
- で上書きされる、デフォルトのオプション値。
- で上書きされる、設定ファイルのオプション
- によって上書きされる環境変数
- コマンドラインオプションで上書きされます。
-
1つまたは複数の 設定ファイルの場所をコマンドラインから指定できるようにします。 で、例えば
--config-file foo.conf
で指定された設定ファイルを読み込みます (通常の設定ファイルの代わりとして、あるいは追加として)。これはまだ上記のカスケードに従う必要があります。 -
許容される オプションの定義を一箇所で行うことができます。 で、設定ファイルやコマンドラインのパース挙動を決定します。
-
パースされたオプションを統一して オプションの値の単一のコレクション に統一し、プログラムの残りの部分はそれがどこから来たのかを気にせずにアクセスできるようにします。
必要なものはすべてPythonの標準ライブラリにあるようですが、それらがスムーズに連携しているわけではありません。
どうすればPython標準ライブラリからの逸脱を最小限に抑えた形で実現できますか?
どのように解決するのですか?
標準ライブラリはこれに対応していないようで、各プログラマが自分で
configparser
と
argparse
そして
os.environ
を全部まとめて、不便な方法で
関連
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] コマンドライン引数の読み方・処理方法は?
-
[解決済み] Javaでコマンドライン引数をパースするには?
-
[解決済み] PowerShellでコマンドライン引数を処理する方法
-
[解決済み] コマンドライン引数にアクセスする方法を教えてください。
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Django filter queryset __in for *every* item in list
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonの検索パスを他のソースに展開する