我在做:
z = zipfile.ZipFile('myzip.zip', 'w')
z.write('/some/path/mytxt1.txt')
z.write('/some/other/path/mytxt2.txt')
z.close()
这是在 zip 中保留文件路径。我只希望我想要的文件平放在 zip 文件中。我怎样才能做到这一点?
我在做:
z = zipfile.ZipFile('myzip.zip', 'w')
z.write('/some/path/mytxt1.txt')
z.write('/some/other/path/mytxt2.txt')
z.close()
这是在 zip 中保留文件路径。我只希望我想要的文件平放在 zip 文件中。我怎样才能做到这一点?
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()