2016-12-12 11 views
0

pythonコードはこのようなものです。私はファイルからデータを読み込もうとします。しかし、私がそれを印刷すると、square bracketescape charという出力が得られます。私がデータファイルからコピーしたコンテンツを印刷するだけであれば。それは正常に表示されます。 結果は次のようになります。 [u'\n\n\xefhello']Pythonエスケープ文字なしでファイルから読み込んだテキストを表示する方法は?

この問題を解決する方法。 結果ウィンドウです。私はsquare bracketを削除しようとしますが、うまくいきません。そして、文字列をutf-8でエンコードしようとしましたが、どちらも動作しません。

データファイルから読み込んだstr Iは<type 'unicode'>です。

20161212185023.bmp

from bs4 import BeautifulSoup 
import re 

f = open('sgsres.txt', 'r') 
content = f.read() 
cleantext = BeautifulSoup(content, "lxml").text 
cleantext = re.sub('[\[\]]', '', cleantext) 
print cleantext 

--- 更新 --- @Boris

私はあなたの答えに応じてコードを書き換えるが、私が手出力は次のようなものです。 1行にあるすべてのchar出力とエスケープ文字は、まだ生のテキストとして表示されているようです。私はacsiiで文字列をエンコードして、このようなエラーを無視する場合 20161212193059.bmp

--- 更新 ---

は、この質問は固定されています。 text = text.encode('ascii',errors='ignore') しかし、私はまだなぜか分かりません。

答えて

1

Square bracketsは、listで作業していることを示しています。そのlist内にあるstring Sについては

、これはあなたが何ができるかです:

from bs4 import BeautifulSoup 
import re 

f = open('sgsres.txt', 'r') 
content = f.read() 
cleantext = BeautifulSoup(content, "lxml").text 
for item in cleantext: 
    item = item.strip() 
    print item 
関連する問題