В настоящее время я пытаюсь запустить парсер для группы файлов при синтаксическом анализе файла, который загружается из браузера и загружается в парсер, я не получаю ошибок, так как это обычный текстовый файл.
Но, когда я получаю данные с сервера через Python ftplib
, я получаю данные в другом формате.Пример - дополнительные символы \x00
и 'b'
внутри моих данныхВажно, чтобы данные были целостными, так как я работаю со структурой базы данных COBOL, которой нельзя манипулировать ни в малейшей степени, иначе это разрушит весь магазин.
Я успешно загружаю, используя следующие функции:
data = []
def handle_binary(more_data):
data.append(str(more_data))
def get_file(filename):
resp = ftp.retrbinary("RETR {0}".format(filename), callback=handle_binary)
file = "".join(data)
# returning the data as well as saving it to inspect
save = open("save.txt", "w+")
save.write(file)
save.close()
return file
Я пытался изменить свой магазин с:
data.append(str(more_data))
На
data.append(more_data)
, а также изменил мою функцию соединения на b""
, чтобы указатьприсоединение к байту, но после этого я получил ошибки.
Пример длинной строки данных, которой не было в исходной загрузке:
\x00\x00\x00'b'\x00\n
Редактировать: При сравнении кажется, чтозагруженные по FTP данные не имеют новых строк (что имеет смысл, поскольку в приведенном выше пропущенном символе есть новая строка), как и загруженная копия.
Спасибо за любую помощь по этому вопросу.