""" 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')
__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')