Ich versuche zu lesen von Felixou Wortliste und schreibe alle Wörter, die> = 8 Zeichen sind, in eine neue Datei. HierUnicodeEncodeError beim Lesen einer Datei
ist der Code -
def main():
with open("rockyou.txt", encoding="utf8") as in_file, open('rockout.txt', 'w') as out_file:
for line in in_file:
if len(line.rstrip()) < 8:
continue
print(line, file = out_file, end = '')
print("done")
if __name__ == '__main__':
main()
Einige Worte sind nicht utf-8.
Traceback (most recent call last): File "wpa_rock.py", line 10, in <module> main() File "wpa_rock.py", line 6, in main print(line, file = out_file, end = '') File "C:\Python\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u0e45' in position 0: character maps to <undefined>
aktualisieren
def main():
with open("rockyou.txt", encoding="utf8") as in_file, open('rockout.txt', 'w', encoding="utf8") as out_file:
for line in in_file:
if len(line.rstrip()) < 8:
continue
out_file.write(line)
print("done")
if __name__ == '__main__':
main()```
Traceback (most recent call last): File "wpa_rock.py", line 10, in <module> main() File "wpa_rock.py", line 3, in main for line in in_file: File "C:\Python\lib\codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 933: invali d continuation byte
Es ist ein Tippfehler. Es sollte "utf-8" anstelle von "utf8" sein. – Arpan
Ich weiß nicht, ob es das ist. Beide Ergebnisse werden zu demselben Fehler verwendet. –
Sie müssen ein ungültiges Zeichen an dieser Position haben. Sie sollten die Datei anzeigen, die Sie versuchen zu lesen. – Arpan