response = requests.get('http://content.warframe.com/PublicExpor ... n.txt.lzma')
data = lzma.decompress(response.content)
Я получаю следующую ошибку:
_lzma.LZMAError: Corrupt input data
Я не думаю, что данные повреждены, поскольку я могу загрузить их из браузера и легко извлечь с помощью 7zip. Я пытался найти решение в Интернете, но, похоже, информации об этой проблеме не так много. Я также пробовал использовать другой способ распаковки, но безуспешно. (Python LZMA: сжатие данных закончилось до того, как был достигнут маркер конца потока)
Изменить: это текущее решение, которое «работает». В общем, отрежьте конец и игнорируйте ошибки EOF.
def fix():
response = requests.get('http://content.warframe.com/PublicExpor ... n.txt.lzma')
data = response.content
byt = bytes(data)
length = len(data)
stay = True
while stay:
stay = False
try:
decompress_lzma(byt[0:length])
except LZMAError:
length -= 1
stay = True
print(decompress_lzma(byt[0:length]))
# FROM: https://stackoverflow.com/a/37400585/15041587
def decompress_lzma(data):
results = []
while True:
decomp = LZMADecompressor(FORMAT_AUTO, None, None)
try:
res = decomp.decompress(data)
except LZMAError:
if results:
break # Leftover data is not a valid LZMA/XZ stream; ignore it.
else:
raise # Error on the first iteration; bail out.
results.append(res)
data = decomp.unused_data
if not data:
break
if not decomp.eof:
raise LZMAError("Compressed data ended before the end-of-stream marker was reached")
return b"".join(results)
Подробнее здесь: https://stackoverflow.com/questions/662 ... decompress
Ошибка данных Python LZMA при попытке распаковки повреждена ⇐ Python
Программы на Python
-
Anonymous
1737453963
Anonymous
response = requests.get('http://content.warframe.com/PublicExport/index_en.txt.lzma')
data = lzma.decompress(response.content)
Я получаю следующую ошибку:
_lzma.LZMAError: Corrupt input data
Я не думаю, что данные повреждены, поскольку я могу загрузить их из браузера и легко извлечь с помощью 7zip. Я пытался найти решение в Интернете, но, похоже, информации об этой проблеме не так много. Я также пробовал использовать другой способ распаковки, но безуспешно. (Python LZMA: сжатие данных закончилось до того, как был достигнут маркер конца потока)
Изменить: это текущее решение, которое «работает». В общем, отрежьте конец и игнорируйте ошибки EOF.
def fix():
response = requests.get('http://content.warframe.com/PublicExport/index_en.txt.lzma')
data = response.content
byt = bytes(data)
length = len(data)
stay = True
while stay:
stay = False
try:
decompress_lzma(byt[0:length])
except LZMAError:
length -= 1
stay = True
print(decompress_lzma(byt[0:length]))
# FROM: https://stackoverflow.com/a/37400585/15041587
def decompress_lzma(data):
results = []
while True:
decomp = LZMADecompressor(FORMAT_AUTO, None, None)
try:
res = decomp.decompress(data)
except LZMAError:
if results:
break # Leftover data is not a valid LZMA/XZ stream; ignore it.
else:
raise # Error on the first iteration; bail out.
results.append(res)
data = decomp.unused_data
if not data:
break
if not decomp.eof:
raise LZMAError("Compressed data ended before the end-of-stream marker was reached")
return b"".join(results)
Подробнее здесь: [url]https://stackoverflow.com/questions/66271285/python-lzma-corrupt-data-error-when-trying-to-decompress[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия