Argparseの相互に排他的なグループのネスト制限:フラストレーションな謎

2025-06-14

Pythonのargparseモジュールは、コマンドライン引数の処理において、相互に排他的なグループを含む便利な機能を提供しますが、ネストに関してはフラストレーションな制限があります。複数のタイムアウト設定を持つプログラムを考えてみましょう。ユーザーは個々のタイムアウトを調整するか、完全に無効にすることができます。argparseは、個々のタイムアウトオプションのグループ内に「タイムアウトなし」オプションをネストすることをサポートしていません。これは設定を面倒にします。通常のグループの中に相互に排他的なグループをネストすることはできますが、その逆はサポートされておらず、公式ドキュメントでもこの制限が明示的に述べられています。そのため、開発者は特定のスイッチが使用されたかどうかを手動で確認する必要があり、複雑さが増します。

開発