簡體   English   中英

在python中將文件追加到ZipFile

[英]Append a file to a ZipFile in python

首先,我創建了一個新的zipfile:

import zipfile
zf = zipfile.ZipFile('/data2/new.zip', mode='w')

然后我想將文件附加到新創建的zip文件中,例如在另一個文件夾中說download.py

zf.write('/data2/another_folder/download.py')

在我將其解壓縮到本地之前,一切似乎都還不錯,我發現它不僅附加了文件,還附加了所有文件夾, data2another_folder 我必須打開/data2/new/data2/another_folder/來找到download.py

我要附加文件,並且僅將文件附加到zipfile。 如何避免上述情況?

提前致謝。

zipfile.write()方法采用可選的arcname參數,該參數指定zipfile中文件的名稱。

import os
import zipfile


zf.write('/data2/another_folder/download.py', 'download.py')
zf.close()

這是將多個文件壓縮在一起的功能:

def zip(list_of_file_paths):
   zf = zipfile.ZipFile("Zipfile.zip", "w", zipfile.ZIP_DEFLATED)
   for path in list_of_file_paths:
       filename = os.path.basename(os.path.normpath(path))
       zf.write(path, filename)
   zf.close()

zip(['path/to/file1', 'path/to/file2', ...]
zf.write('path/to/file.txt', arcname='name_without_path.txt')

應該為您解決此問題,如果您要保留相同的名稱而沒有路徑,也可以這樣做:

filepath = 'path/to/file.txt'
zf.write(filepath, arcname=os.path.basename(filepath))

假設您確實import os

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM