Открытие zip-файла с неподдерживаемым типом сжатия автоматически возвращает пустой файловый поток вместо выдачи исключенPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Открытие zip-файла с неподдерживаемым типом сжатия автоматически возвращает пустой файловый поток вместо выдачи исключен

Сообщение Anonymous »

Кажется, мне сбивает голову ошибка новичка, а я не новичок.
У меня есть заведомо исправный zip-файл 1,2 ГБ 'train.zip', содержащий файл 3,5 ГБ. 'train.csv'.
Я открываю zip-файл и сам файл без каких-либо исключений (нет LargeZipFile), но результирующий файловый поток оказывается пустым. (UNIX 'unzip -c ...' подтверждает, что это правильно)
Файловые объекты, возвращаемые Python ZipFile.open(), не доступны для поиска или определения , поэтому я не могу это проверить.
Распространение Python 2.7.3 без EPD 7.3-1 (32-разрядная версия) ; но должно подойти для больших молний. ОС – MacOS 10.6.6
import csv
import zipfile as zf

zip_pathname = os.path.join('/my/data/path/.../', 'train.zip')
#with zf.ZipFile(zip_pathname).open('train.csv') as z:
z = zf.ZipFile(zip_pathname, 'r', zf.ZIP_DEFLATED, allowZip64=True) # I tried all permutations
z.debug = 1
z.testzip() # zipfile integrity is ok

z1 = z.open('train.csv', 'r') # our file keeps coming up empty?

# Check the info to confirm z1 is indeed a valid 3.5Gb file...
z1i = z.getinfo(file_name)
for att in ('filename', 'file_size', 'compress_size', 'compress_type', 'date_time', 'CRC', 'comment'):
print '%s:\t' % att, getattr(z1i,att)
# ... and it looks ok. compress_type = 9 ok?
#filename: train.csv
#file_size: 3729150126
#compress_size: 1284613649
#compress_type: 9
#date_time: (2012, 8, 20, 15, 30, 4)
#CRC: 1679210291

# All attempts to read z1 come up empty?!
# z1.readline() gives ''
# z1.readlines() gives []
# z1.read() takes ~60sec but also returns '' ?

# code I would want to run is:
reader = csv.reader(z1)
header = reader.next()
return reader


Подробнее здесь: https://stackoverflow.com/questions/128 ... -filestrea
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»