argparsePythonコードの引数を読み込むために使用しています。titleこれらの入力の 1 つは、Unicode 文字を含むことができるファイル [ ] のタイトルです。22少女時代22テストストリングとして使用しています。
入力の値をtitleファイルに書き込む必要がありますが、文字列を変換しようとすると、UTF-8常にエラーがスローされます。
UnicodeDecodeError: 'ascii' コーデックは位置 2 のバイト 0x8f をデコードできません: 序数が範囲外です (128)
私は周りを見回しており、文字列をu"foo"呼び出すための形式にする必要があることがわかり.encode()ました。
type()からの入力を実行すると、次のようargparseに表示されます。
<type 'str'>
私は次のような応答を得たいと思っています:
<type 'unicode'>
どうすれば正しい形で取得できますか?
考え:
を受け取るように変更argparseしますがstr、Unicode 文字列として保存しますu"foo"。
parser.add_argument(u'title', metavar='T', type=unicode, help='this will be unicode encoded.')
このアプローチはまったく機能していません。考え?
編集1:
いくつかのサンプルコードtitleは22少女時代22次のとおりです。
inputs = vars(parser.parse_args())
title = inputs["title"]
print type(title)
print type(u'foo')
title = title.encode('utf8') # This line throws the error
print title