2010-10-22 15 views
2

我寫了一些代碼發送查詢到谷歌並返回查詢結果。顯然,檢索到的內容是unicode格式的,所以當我將它們放在列表中時,例如打印這個列表(整個列表一起而不是成員),一個惱人的額外'u'總是隱藏在所有成員之後這份名單..我可以如何擺脫他們?我試圖將整個文本轉換爲ascii,但由於文本中有一些非ascii字符(不同的語言)出現故障,現在是否知道我應該怎麼做才能獲得更好的輸出?我希望這個額外的'你'不會有任何麻煩。感謝在Python中解決unicode輸出

+0

爲什麼是「U」一問題?這只是化妝品嗎?或者你需要使用這個輸出來做其他事情嗎? – 2010-10-22 08:24:27

+0

由於兩個原因 – Hossein 2010-10-22 08:25:45

+0

非ASCII字符應該如何處理? – 2010-10-22 08:30:26

回答

5

相反的:

>>> print your_list 
[u'foo', u'bar'] 

用途:

>>> print '\n'.join(your_list) 
foo 
bar 

可以使用', '代替'\n'作爲分隔符,如果你願意讓這一切在同一行。

如果您嘗試在Windows控制檯中顯示Unicode字符,則可能還存在問題。如果是這樣,你可以使用例如IDLE這可以顯示Unicode字符。另外,您可以轉換爲ASCII和忽略不存在ASCII字符:

print '\n'.join(x.encode('ascii', 'ignore') for x in your_list) 
1

如果你打算做什麼有意義的事情與你的輸出,你必須決定你想要的輸出編碼。把所有非ASCII字符扔掉甚至不是第二好的解決方案。 決定一個適當的輸出編碼(如外殼輸出你的shell編碼,網絡輸出你的網頁的編碼,最好的多面手是UTF-8)和appropiately編碼:', '.join(x.encode('utf-a') for x in your_list)En-/Decoding