Я сделал резервную копию Facebook Messenger.Он сохраняется по умолчанию, как HTML-файл.Каждый файл для каждого человека, с которым я говорил.Самый большой файл у меня более 80 МБ.Когда я открываю его, я вижу, что в коде тысячи опечаток.Код показывает Á или Å вместо A, æ вместо ae и т. Д. И т. Д.
В таком состоянии я не могу открыть его и прочитать любую программу, поскольку она заканчивается ошибками charmap.
Traceback (most recent call last):
File "C:/Users/Filip/.PyCharmCE2018.2/config/scratches/test.py", line 35, in <module>
messages = open("message.html","r").read()
File "C:\Users\Filip\AppData\Local\Programs\Python\Python36\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1917064: character maps to <undefined>
Это проблема с моим редактором файлов, проблема с загрузкой (загрузка 5 ГБ заняла 8 часов - спасибо, Facebook) или просто такие большие текстовые файлы, сохраненные в одной строке, не имеют возможности работать правильно?
Я пытался открыть файл в:
-Notepad
-EmEditor - по иронии судьбы, время работы с файлом было даже хуже, чем в Notepad
EDIT 1:
Хорошо, мне удалось разбить весь код htlm на простой чистый текст, например:
=A=
jakiefry
15November201511:34
=F=
mediumfry
15November201511:34
=A=
xD
15November201511:34
=A=
mozemediumjestemjakies
15November201511:34
=F=
xDD
15November201511:34
=A=
iostatniotyledejavumam
15November201511:34
...(900 000 lines more)
И читать его построчно, пока не будет найдена проблемная строка.Я использовал этот код:
f = open('messege.txt')
try:
line = f.readline()
while line:
print(line)
line = f.readline()
f.close()
except Exception:
stop = input("stop before it crash")
print("and when I press enter it crash")
Теперь я ищу способ удалить проблемную строку или просто пропустить ее.Может быть, во время чтения я должен создать новый файл, где будут сохранены только все хорошие строки?Но все же, как пропустить строку, которая делает ошибку, поэтому она рада продолжить.Оставайтесь с нами, ребята, новые обновления идут;)