2

モジュール argparse を使用しており、utf-16 のファイルへのパスである input_file のコマンド ライン引数が必要です。そのようなものに argparse.FileType を使用したい:

parser.add_argument('input_file', type=argparse.FileType('r'))

残念ながら、argparse.FileType__init__は encoding パラメータを受け取りません。

のタイプを str に設定するだけでなく、そのinput_fileサブクラスを実装しargparse.Actionてファイルを開く別の方法はありますcodecsか?

ありがとう。

4

1 に答える 1

0

argparse.FileType それほど長くも複雑でもありません。サブクラス化するか、ソースをコピーして変更するだけで、エンコーディングパラメーターを受け取る独自のバージョンを作成できます。(多分を除いてクラス全体をオーバーライドする必要があるため、サブクラス化はややばかげているようです__repr__。)

于 2012-07-21T19:34:58.230 に答える