2017-01-06 5 views
1

.txtファイルを開いて読み込みしようとしています大量のテキストが含まれています。以下は私のコードですが、私はこの問題を解決する方法を知らない。どんな助けでも大歓迎です。codecs.ascii_decode(input、self.errors)[0] UnicodeDecodeError: 'ascii'コーデックは318の0xc2バイトをデコードできません:序数が範囲内にありません(128)

file = input("Please enter a .txt file: ") 
myfile = open(file) 
x = myfile.readlines() 
print (x) 

私はこの.txtファイルを入力し、完全なエラーメッセージが下に表示されます。

line 10, in <module> x = myfile.readlines() 
line 26, in decode return codecs.ascii_decode(input, self.errors)[0] 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 318: ordinal not in range(128) 
+0

参考にしてください:http://stackoverflow.com/questions/491921/unicode-utf-8-reading-and-writing-to-files-in-python –

+0

@AndriiAbramovその質問では、ファイルUTF-8でエンコードされていました。私はそれがここに当てはまるかどうかわからない。そうでなければ、それは多くの欲求不満につながるだろう。 –

答えて

-1

@AndriiAbramamovは右である、あなたはここでは、その質問をチェックshoudあなたを開くことができる方法ですそのリンク

import codecs 
f = codecs.open('words.txt', 'r', 'UTF-8') 
for line in f: 
    print(line) 

にも別の方法であるファイルは、ファイルを開くときに、あなたがそうで、二重引用符などの特殊文字を削除することができ、正規表現を使用することです。

def test(): 
    path = './test.log' 
    file = open(path, 'r+', encoding='utf-8') 
    while True: 
     lines = file.readlines() 
     if not lines: 
      break 
     for line in lines: 
      print(line) 

あなたは正確にエンコーディングのparamを与える必要があります。代わりのコーデックを使用しての

2

は、私はそれをこのように解決します。

関連する問題

 関連する問題