3

我在做:

z = zipfile.ZipFile('myzip.zip', 'w')
z.write('/some/path/mytxt1.txt')
z.write('/some/other/path/mytxt2.txt')
z.close()

这是在 zip 中保留文件路径。我只希望我想要的文件平放在 zip 文件中。我怎样才能做到这一点?

4

1 回答 1

7

ZipFile.write()接受第二个参数,arcname. 只需将其设置os.path.basename()为第一个参数即可删除路径:

def zip_write(zip, filename):
    zip.write(filename, os.path.basename(filename))

z = zipfile.ZipFile('myzip.zip', 'w')
zip_write(z, '/some/path/mytxt1.txt')
zip_write(z, '/some/other/path/mytxt2.txt')
z.close()
于 2013-04-05T06:38:47.927 回答