2015-08-26 1 views
1

pyMOTWPython ZipFile - IOError: [Errno 2] Нет такого файла или каталога: zip_file

Мне нужно создать ZIP-файл и сохранить этот файл в двоичном виде в базе данных. Я использовал ссылку с сайта выше. Мой код выглядит следующим образом:

import time 
import zipfile 
import base64 
zip_file = 'some_file_name.zip' 
xml_file = 'xml_file.xml' 
zf = zipfile.ZipFile(zip_file, mode='w',) 
try: 
    info = zipfile.ZipInfo(xml_file, 
            date_time=time.localtime(time.time()), 
            ) 
    info.compress_type=zipfile.ZIP_DEFLATED 
    info.comment='Remarks go here' 
    info.create_system=0 
    zf.writestr(info, "<Some XML string>") 
finally: 
    zf.close() 
out = base64.encodestring(zf) # I need to convert zip into binary data in order to update this into database using ORM methods. 

Мне не нужно читать/писать этот почтовый файл в Файловой системе. Мне просто нужно создать его программно и преобразовать его в двоичный.

Я получаю эту ошибку на линии: ZF = zipfile.ZipFile (zip_file, режим = 'ш',) отслеживающий Ошибка:

File "/usr/lib/python2.7/zipfile.py", line 756, in __init__ 
    self.fp = open(file, modeDict[mode]) 
IOError: [Errno 2] No such file or directory: u'some_file_name.zip' 

Извините за мой плохой отступа. Пожалуйста, помогите мне в этом. Заранее спасибо.

+4

Ну, похоже, вы пытаетесь прочитать файл, который не существует. Пожалуйста: 1) исправьте код в вопросе (отступ испорчен) 2) Укажите * полный * код (что такое 'invoice_name'?) 3) Предоставьте сообщение * full * с трассировкой, чтобы мы могли понять, какой вызов вызывает его. – Bakuriu

+0

Какая строка является ошибкой? –

+0

, если у вас есть 'IOError: [Errno 2] Нет такого файла или каталога: file_name.zip' error: 1- Вы не определяете имя файла, 2-У вас нет разрешения на рабочую директорию currient. – dsgdfg

ответ

0

У вас еще нет файла some_file_name.zip, так что он не может его найти. Вместо этого попробуйте использовать zip_file = StringIO.StringIO(), а затем сохраните имя файла позже. Я не уверен, как это сделать, потому что я не уверен, что вы хотите делать с файлом. Но я думаю, что есть способ определить имя файла при его сохранении на диске или базе данных.

 Смежные вопросы

  • Нет связанных вопросов^_^