@enabl3

Почему zipfile.is_zipfile(filename) возвращает False?

Всем привет, столкнулся с такой проблемой.
Есть бот, которому отправляю ZIP архив, он его сохраняет у меня на компе, а после должен его распаковать в другую папку, а далее уже другие действия...
Если просто через .py скрипт делать:
import zipfile
zf = zipfile.is_zipfile('test.zip')
print(zf)

То отдает True
Но через бота, почему то не работает, в нем это выглядит так:
if zipfile.is_zipfile('test.zip'):
    bot.send_message(chat_id, "It's a ZIP file")
else:
    bot.send_message(chat_id, "WRONG FILE!!!")

Соответственно мне прилетает "WRONG FILE!!!"
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@enabl3 Автор вопроса
Получал файл так
file_info = bot.get_file(message.document.file_id)
downloaded_file = bot.download_file(file_info.file_path)
src = 'path' + message.document.file_name;
with open(src, 'wb') as new_file:
     new_file.write(downloaded_file)

По нему и выдавало ошибку что это не архив. Решилось очень банально, в конец нужно было добавить закрытие файла, в моем случае это - new_file.close() После чего все работает как часы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы