我想在Python中壓縮單個文件。無論出於何種原因,我都很難理解語法。我想要做的就是保留原始文件並創建一個新的原始壓縮文件(如Mac或Windows將在存檔文件時執行的操作)。郵編單個文件
這是我到目前爲止有:
import zipfile
myfilepath = '/tmp/%s' % self.file_name
myzippath = myfilepath.replace('.xml', '.zip')
zipfile.ZipFile(myzippath, 'w').write(open(myfilepath).read()) # does not zip the file properly
你得到了什麼錯誤? –
['zipfile.write()'](https://docs.python.org/2/library/zipfile.html#zipfile.ZipFile.write)將現有文件的名稱作爲第一個參數,您正在傳遞該文件的內容作爲文件名。你要麼傳遞源文件的名字(和'arcname ='一起)或者你正在尋找['writestr()'](https://docs.python.org/2/library/zipfile.html# zipfile.ZipFile.writestr)。 – dhke
'ZipFile.write(filename,arcname = None,compress_type = None)' 將名爲filename的文件寫入存檔,給它一個存檔名稱arcname – haifzhan