zipfile 压缩一个文件下面的所有文件,怎样去除压缩包中的文件路径?

2017-09-02 22:03:23 +08:00
 rogwan

在 /home/Downloads/docs 文件夹中,有很多文件 1.txt 2.txt 3.txt 4.txt ... 压缩为一个 docs.zip 文件包之后,打开这个压缩包,发现里面包含了 /home/Downloads/docs 完整的文件路径。

要怎样去掉 docs.zip 压缩包中的这个 /home/Downloads/docs 路径,打开 docs.zip 压缩包直接显示 1.txt 2.txt 3.txt 4.txt ...

当前代码如下:

import os, zipfile
z = zipfile.ZipFile('docs.zip', 'w', zipfile.ZIP_DEFLATED)
dir = "/home/Downloads/docs"
for root, dirs, files in os.walk(dir):
    for file in files:
        z.write(os.path.join(root, file))
        z.close()
4211 次点击
所在节点    Python
2 条回复
hcymk2
2017-09-02 23:15:06 +08:00
ZipFile.write(filename[, arcname[, compress_type]])
Write the file named filename to the archive, giving it the archive name arcname (by default, this will be the same as filename, but without a drive letter and with leading path separators removed)
lolizeppelin
2017-09-02 23:43:42 +08:00
先 cd 进去不就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX