【发布时间】:2015-09-17 21:11:41
【问题描述】:
我正在尝试使用以下代码将名为 test_dicoms 的目录压缩到名为 test_dicoms.zip 的压缩文件中:
shutil.make_archive('/home/code/test_dicoms', 'zip', '/home/code/test_dicoms')
问题是,当我解压缩它时,/test_dicoms/ 中的所有文件都被解压缩到 /home/code/ 而不是文件夹 /test_dicoms/ 并且所有包含的文件都被解压缩到 /home/code/。所以/test_dicoms/ 有一个名为foo.txt 的文件,在我压缩和解压缩foo.txt 之后,路径是/home/code/foo.txt,而不是/home/code/test_dicoms/foo.txt。我该如何解决?此外,我正在使用的一些目录非常大。我是否需要在我的代码中添加任何内容以使其成为 ZIP64,或者该功能是否足够智能以自动执行此操作?
这是当前创建的存档中的内容:
[gwarner@jazz gwarner]$ unzip -l test_dicoms.zip
Archive: test_dicoms.zip
Length Date Time Name
--------- ---------- ----- ----
93324 09-17-2015 16:05 AAscout_b_000070
93332 09-17-2015 16:05 AAscout_b_000125
93332 09-17-2015 16:05 AAscout_b_000248
【问题讨论】:
-
请提供 zip 目录的复制粘贴。例如,如果您使用的是 Linux,请运行
unzip -l test_dicoms.zip。 -
[gwarner@jazz gwarner]$ unzip -l test_dicoms.zip Archive: test_dicoms.zip Length Date Time Name --------- ---------- ----- ---- 93324 09-17-2015 16:05 AAscout_b_000070 93332 09-17-2015 16:05 AAscout_b_000125 93332 09-17-2015 16:05 AAscout_b_000248
标签: python directory zip shutil