Как извлечь файл .sql, который выглядит как .zip - PullRequest
1 голос
/ 16 октября 2019

Я получил файл от клиента. Файл называется

SQL-код (application / sql)

Однако, это оказалось неправильно: ничто не могло открыть его. Оказывается, это был секретно файл .zip. Переименовав его в «.zip» и распаковав вручную, я смог получить содержащиеся в нем файлы. Я хотел бы сделать аналогичный процесс в Python.

Пока я переименовал файл:

file_name_zip = file_name.replace('.sql', '.zip')
os.rename(file_name, file_name_zip)

И я попытался извлечь его:

zip_ref = zipfile.ZipFile(file_name_zip, 'r')
zip_ref.extractall(extracted_file)

Однако это не удалось, потому что

zipfile.BadZipFile: файл не является zip-файлом

Я гуглил, и, видимо, иногда это можно исправить с помощью:

zip_file_name_2 = zip_file_name.replace('.zip', '2.zip')
os.system(f'zip -FF {zip_file_name} --out {zip_file_name_2}')

Это потребовало от меня установки нескольких настроек, которые я не смог выяснить. Должен быть лучший способ сделать это.

Кто-нибудь знает, как разобрать такой файл .sql?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...