2015-07-20 144 views
1

想要一个接一个地提取.zip文件。提取之前我需要重命名重命名并提取python中的zipfile

myzip = zipfile.ZipFile(source,'r') 
    for zib_e in myzip.namelist(): 
     filename = os.path.basename(zib_e) 
     if not filename: 
      continue 
     print zib_e 
     myzip.extract(zib_e,"/tmp/") 
    myzip.close() 

上面的代码提取/ tmp /中的所有文件。但我想重命名每个文件并保存在目标目录,即,/包括读取功能TMP /无压缩的结构

回答

1

后,我可以操作的文件名

def guid1(): 
    uniqueid = uuid.uuid4() 
    guid = str(uniqueid) 
    return guid 

def zipextract(source,destination): 
    myzip = zipfile.ZipFile(source,'r') 
    for zib_e in myzip.namelist(): 
     filename = os.path.basename(zib_e) 
     if not filename: 
      continue 
     print destination 
     data = myzip.read(zib_e) 
     output = open(destination+guid1()+".txt",'wb') #exporting to given location one by one 
     output.write(data) 
     output.close() 
     #data.close() 
    myzip.close()