使用Zipfile和Python获取正确的目录结构

时间:2018-08-02 02:16:17

标签: python path zipfile

我有一个类似于(INSERT INTO(?s:.)*?VALUES(?s:.)*?\)) 的目录结构,在level5中,我有.json文件,我想用压缩版本替换,因此从 /level1/level2/level3/level4/level5/level1/level2/level3/level4/level5/{file1.json, file2.json, file3.json}

但是我的代码在脚本所在的文件夹(第3级)中生成了zip文件,结果为/level1/level2/level3/level4/level5/{file1.zip, file2.zip, file3.zip}

此外,如果我解压缩文件,我会得到整个目录结构,而不仅仅是文件。例如,如果我将file1.zip解压缩,则会得到/level1/level2/[level3]{file1.zip, file2.zip, file3.zip}/level4/level5/{file1.json, file2.json, file3.json}

我尝试了不同的论点,但不确定如何获得想要的结果。我该怎么做?

这是我目前的代码

/level1/level2/[level3]{(/level1/level2/level3/level4/level5/file1.json), file2.zip, file3.zip}/level4/level5/{file1.json, file2.json, file3.json}

1 个答案:

答案 0 :(得分:1)

您应创建一个带有根目录路径的zip文件,以便在JSON文件所在的位置创建该zip文件,并将JSON文件写入zip文件时,请使用writestr方法而不是{ {1}},以便您可以使用所需的路径名来命名文件,在这种情况下,该文件名就是根本没有路径名的文件名:

write