2

argparse で help を指定するとき、引数に or のような文字列を使用してデフォルトの%(default)s引数を表示することがよくあります。ただし、構文は少し奇妙です。python 文字列が でフォーマットされていた時代から残っていると思いますが、python 2.6 以降、文字列をフォーマットする標準的な方法は関数を使用しています。%(const)shelp=%format()

これらのライブラリは「古い」置換構文を使用しているだけですか、それとも別の場所から来たものですか? %ある時点で置換演算子が消えると述べられていますが、これらのライブラリは'{}'.format()構文に変更されますか?

4

2 に答える 2

4

はい、argparseおよびConfigParserライブラリは古いスタイルの%文字列書式設定構文を内部的に使用します。これらのライブラリは以前に開発されstr.format()format()利用可能でした。または、ライブラリ作成者の場合、argparse以前の Python バージョンとの互換性を目的としていました。

%書式設定削除された場合、それらのライブラリは実際に、{}プレースホルダーを使用した文字列書式設定を使用するように移行する必要があります。

ただし、さまざまな理由から、%古いスタイルの文字列書式設定スタイルは当分の間維持されます。それは「廃止されていません」。str.format()が推奨されますが%、下位互換性のために残されています。

于 2013-08-08T14:18:40.037 に答える