Невозможно прочитать заархивированный файл из URL - PullRequest
1 голос
/ 21 марта 2019

Я не могу открыть заархивированный файл из Интернета.

from urllib.request import urlopen
from io import BytesIO
from zipfile import ZipFile
url = "http://..../craft.zip"
file = urlopen(url).read()
file = BytesIO(file)
document = ZipFile(file)
content = document.read('MASTER.txt')

И когда я пытаюсь распечатать некоторые данные, я получаю кучу цифр.В этом zip есть другие txt-файлы, и когда я заменяю имя файла в содержимом, я получаю тот же вывод.Хотя я читаю py3k: как вы читаете файл внутри zip-файла в виде текста, а не байтов? , я не знаю, как это исправить.

1 Ответ

1 голос
/ 22 марта 2019

Проблема была с методом zipfile:

from urllib.request import urlopen
from io import BytesIO
from zipfile import ZipFile

url = "http://....craft.zip"
file = urlopen(url).read()
file = BytesIO(file)
document = ZipFile(file)
content = document.open('MASTER.txt', "r")
for line in content:
        print(line)

Этот код исправил мою проблему, и я смог найти данные в zipfile.Чтение было заменено открытым.

...