Ошибка unicodeDecodeError и TypeError при чтение txt файла
Вот кусок кода, в котором появляется ошибка при запуске:
def logon(logons):
result_list_logon = {}
with open(logons) as file:
lines = file.readlines()
length = len(lines)
for i in range(length):
each_line = lines[i]
array_line = each_line.split(' ')
В функцию logon передаётся строкой путь к файлу, который затем открывается на чтение и построчно записывается в переменную lines.
Сначала была ошибка:
File "/home/senior/home/log/script.py", line 121, in <module>
all()
File "/home/senior/home/log/script.py", line 102, in all
logon_res = logon(logons)
File "/home/senior/home/log/script.py", line 41, in logon
lines = file.readlines()
File "/usr/local/lib/python3.10/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x88 in position 1381: invalid start byte
Чтобы ее исправить добавила в функцию, где файл открывается на чтение, вместо 'r' - 'rb' И теперь получается следующая ошибка:
array_line = each_line.split(' ')
TypeError: a bytes-like object is required, not 'str'
Это делается чтобы разбить в переменной каждую строку файла на слова по пробелу и дальше их перебирая и выводить их в нужные переменные
Не могу понять, как сделать чтобы он читался, вроде замкнутый круг получается
Скрипт запускается с Debian 11 Python3.10.11, а файл идут с Windows, думала может проблема в разных файловых системах, но файл корректно открывается в debian через nano/vim