使用zipfile在Python中创建zip文件而不压缩绝对路径

时间:2014-07-21 17:57:47

标签: python zipfile

首先,我知道在stackoverflow上多次询问过这个问题,我已经尝试了大部分解决方案,但没有一个对我有用。

我一直在尝试使用Python中的 zipfile 创建一个zip文件,但它会保留压缩包含在绝对路径中的所有文件夹。我只想压缩路径所指向的文件,而不是该路径中的所有文件。

如果我尝试从此路径创建名为“Zip_Files.zip”的zip文件:

  

C:\ Users \用户名\文件\ Folder_to_be_zipped \

当我尝试压缩这个时,我最终得到一个像这样的zip文件夹:

  

用户 - >用户名 - >文件 - > Folder_to_be_zipped

我想要这样的事情:

  

Zip_Files.zip - > Folder_to_be_zipped

我只想压缩 Folder_to_be_zipped ,而不是每个导致该文件夹的文件。

如果有人可以编写完成此工作所需的代码并解释代码正在执行的操作。我在理解类似问题的答案时遇到了问题,这也是我再次提出这个问题的原因。

from os.path import basename
import zipfile

zip = zipfile.ZipFile('Zipper.zip', 'w')
first_path = "C:/Users/Andrew/Documents/Test_dir"
second_path = "C:/Users/Andrew/Documents/Test"

for root, dirs, files in os.walk(second_path):
  zip.write(second_path, basename(second_path))
  zip.close()

我得到一个名为 Zipper.zip 的压缩文件,其中包含Test_dir和Test文件夹,但我仍无法将文件夹内的文件添加到zip文件夹

0 个答案:

没有答案