Я пытаюсь написать сценарий, который очищал бы ненужные символы из текстового файла данных. Мне удалось успешно запустить сценарий один раз, но каждая другая попытка выдает ошибку UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa2 in position 8149: invalid start byte
import codecs
import sys
if len(sys.argv) < 2:
startFile = "test.txt"
else:
startFile = sys.argv[1]
finishFile = "newtest.txt"
def cleanFile():
f = open(startFile, "r")
#f = codecs.open("GNMFDB.TXT", "r", "utf-8")
newFile = open(finishFile, "a")
for line in f:
line = line.replace("=", "")
newFile.write(line)
def clearNewFile():
newFile = open(finishFile, "w")
newFile.close()
if __name__ == "__main__":
#startFile = "test.txt"
#finishFile = "newtest.txt"
clearNewFile()
cleanFile()
Я знаю, что проблема связана с попыткой преобразования UTF-8 в строки или что-то в этом роде . Копирование некоторых строк из исходного файла .txt и помещение их в отдельный файл .txt, который я создал в vim, приводит к тому, что сценарий каждый раз запускается успешно. Я знаю, что кодеки можно использовать в подобной ситуации, но когда я попробовал, у меня возникла аналогичная ошибка (отсюда и закомментированная строка).