Google にクエリを送信し、クエリ結果を返すコードをいくつか書きました。取得されるコンテンツはどうやらユニコード形式であるため、たとえばリストに入れてこのリストを印刷すると(メンバーごとではなくリスト全体をまとめて)、煩わしい余分な「u」が常にすべてのメンバーの後ろにあります。このリスト..どうすればそれらを取り除くことができますか? テキスト全体を ASCII に変換しようとしましたが、ASCII 以外の文字 (異なる言語) がテキストに含まれているため、変換に失敗しました。この余分な 'u' が問題にならないことを願っています。ありがとう
2 に答える
5
それ以外の:
>>> print your_list
[u'foo', u'bar']
使用する:
>>> print '\n'.join(your_list)
foo
bar
すべてを 1 行にまとめたい場合は、', '
代わりに区切り記号として使用できます。'\n'
Windows コンソールで Unicode 文字を表示しようとすると、問題が発生する場合もあります。その場合、たとえば、Unicode 文字を表示できるIDLEを使用できます。または、ASCII に変換して、ASCII に存在しない文字を無視することもできます。
print '\n'.join(x.encode('ascii', 'ignore') for x in your_list)
于 2010-10-22T08:09:10.777 に答える
1
出力に対して意味のあることを行う場合は、必要な出力エンコーディングを決定する必要があります。これらの非ASCII文字をすべて捨てることは、2番目に良い解決策ではありません. 適切な出力エンコーディングを決定します (たとえば、シェル出力の場合はシェル エンコーディング、Web 出力の場合は Web エンコーディング、最適なオールラウンダーは UTF-8 です) および適切にエンコードします: ', '.join(x.encode('utf-a') for x in your_list)
( En-/Decoding )
于 2010-10-22T08:45:54.900 に答える