2017-04-21 106 views
1

我正在使用zipfile來壓縮包含不同文件的文件夾。它運作良好。我唯一的問題是,它會將壓縮文件創建到執行代碼的根文件夾中。如何告訴文件夾目的地我想要壓縮文件?如何設置python上的zip文件的文件夾目標?

我的代碼示例是這一個:

# Zips an entire directory using zipfile ---------------------------- 
def make_zipfile(_path): 
    import zipfile 
    if os.path.isdir(_path): 
     inName = os.path.basename(_path) + '.zip' 
     #head, tail = os.path.split(os.path.split(_path)[0]) 
     print "saving: " + inName 
     def zipdir(_path, zip_handle): 
      for root, dirs, files in os.walk(_path): 
       for file in files: 
        print os.path.join(root, file) 
        zip_handle.write(os.path.join(root, file), file) 
     with zipfile.ZipFile(inName, 'w', compression=zipfile.ZIP_DEFLATED, allowZip64=True) as z: 
      zipdir(_path, z) 
    print "zip file created" 
    return inName 

回答

2

在inName使用一個完整的路徑:

inName = os.path.join('/tmp', os.path.basename(_path) + '.zip') 
+0

阿大,很明顯!現在你告訴我了。謝謝 – Dazzid

相關問題