예제 #1
0
"""
Criando um arquivo zip sem compressao utilizando a funcao write.
Ao abrir o arquivo e necessario passar o modo 'w'
se ao gravar o arquivo no zip utilizar o parametro arcname='outro_nome' o arquivo sera salvo com um novo nome
"""


from zipInfoList import print_info
import zipfile

__author__ = 'daniloqb'

print 'Creating archive'

# abrindo o arquivo no modo w
zf = zipfile.ZipFile('zipfile_write.zip', 'w')

try:
    print 'Adding README.txt'
    zf.write('README.txt')   # adicionado o arquivo README.txt

finally:   # finaliza fechando o arquivo
    print 'Closing'
    zf.close()

print
print_info('zipfile_write.zip') # utiliza a funcao anterior para obter informacoes dos arquivos do zip
para um arquivo zip. Um arquivo e criado dinamicamente com o conteudo passado
"""


from zipInfoList import print_info
import zipfile

__author__ = 'user'

# nome do arquivo zip
filename = 'zipfile_write_str.zip'

# dados que serao salvos
msg = 'This data did not exist in a file before being added to the archive'

#abrindo o arquivo zip, passando o modo como escrita e a compressao como deflate
#zf = zipfile.ZipFile(filename,mode='w',compression=zipfile.ZIP_DEFLATED)
#Fiz uma modificacao no codigo passando a compressao para a funcao writestr. No tutorial esta dizendo que nao era possi
#vel, contudo deu certo

zf = zipfile.ZipFile(filename,mode='w')
try:
    zf.writestr('from_string_txt',msg,compress_type=zipfile.ZIP_DEFLATED)
finally:
    zf.close()

print_info(filename)

zf = zipfile.ZipFile(filename,'r')

print zf.read('from_string_txt')
__author__ = 'user'


try:
    import zlib    #tentando importar zlib
    compression = zipfile.ZIP_DEFLATED   # se a importacao ocorrer sera utilizado a compressao ZIP_DEFLATED
except:
    compression = zipfile.ZIP_STORED     # se nao for possivel importar zlib a compressao sera ZIP_STORED que e a
                                         # compressao padrao


#dicionario com as informacoes de compressao para impressao
modes = {zipfile.ZIP_DEFLATED : 'deflated',
         zipfile.ZIP_STORED : 'stored'}

print 'creating archive'
#criacao do arquivo zip
zf = zipfile.ZipFile('zipfile_write_compressed.zip',mode = 'w')

try:
    print 'adding README.txt with compression mode ',modes[compression]
    zf.write('README.txt',compress_type=compression) #adicionando o arquivo ao zip e passando o modo de compressao
finally:
    print 'closing'
    zf.close()

print
print_info('zipfile_write_compressed.zip')

zipfile.ZipInfo() neccessita de 02 parametros para a criacao do objeto. nome do arquivo e a data de criacao
"""

import zipfile
import time
from zipInfoList import print_info

__author__ = 'daniloqb'

# mensagem a ser salva no zip
#msg = 'This message did not exist in a file before being added to the zip file'
msg = range(0,10,2)

# abertura do arquivo zip
zf = zipfile.ZipFile('zipfile_writestr_zipinfo.zip','w')

try:
    # criacao do objeto zipInfo com as informacoes de nome e de tempo local
    info = zipfile.ZipInfo('from_string-even.txt',date_time=time.localtime(time.time()))
    # passagem de informacoes adicionais para o zipinfo
    info.compress_type = zipfile.ZIP_DEFLATED
    info.comment = 'Remarks go here'
    info.create_system = 0
    # ao inves de utilizar um arc_name e passado o zipinfo como parametro e depois os dados
    zf.writestr(info,str(msg))
finally:
    zf.close()

print_info('zipfile_writestr_zipinfo.zip')

예제 #5
0
__author__ = 'danilo'


print 'creating archive'


# Abrindo o arquivo para leitura. Contudo se ao inves de inserir o modo 'w' inserir o modo 'a' tambem funciona
zf = zipfile.ZipFile('zip_archive.zip','w')

# Insere o primeiro arquivo e fecha
try:
    zf.write('README.txt')
finally:
    zf.close()

print_info('zip_archive.zip')

print 'appending to the archive'

# Abre no modo de adicionar no final
zf = zipfile.ZipFile('zip_archive.zip','a')


# Insere o mesmo arquivo, agora usando o parametro arcname para inserir com outro nome
try:
    zf.write('README.txt','README2.txt')
finally:
    zf.close()

print
print_info('zip_archive.zip')