我一直在尝试使用make_archive https://docs.python.org/3/library/shutil.html#shutil.make_archive from shutil
图书馆。
这是代码(带有全面的注释):
from shutil import make_archive
make_archive(
'zipfile_name',
'zip', # archive format
root_dir=None, # current working dir if None
base_dir=None) # cwd if None
这是目录树的示例:
folder
│ script.py
└───subfolder1
│ │ file011.txt
│ │ file012.txt
│ │
└───subfolder2
│ │ file011.txt
│ │ file012.txt
│ │
...
如果我运行我的脚本(使用上面的代码),结果是:
folder
│ script.py
└───subfolder1
│ │ file011.txt
│ │ file012.txt
│ │
└───subfolder2
│ │ file011.txt
│ │ file012.txt
│ │
└───zipfile_name.zip
│ │ same content as above (like expected)
│ │ zipfile_name.zip
...
为什么要额外加一个zipfile_name.zip
被建造?另请注意,第二个存档无法打开,因为它无效。我知道如果以前没有人遇到过这个问题,但也许我的参数是错误的,这就是我问的原因。
我也遇到了这个问题。这是解决该问题的一个简单技巧:使用相对路径作为base_name
:
from shutil import make_archive
make_archive(
'../zipfile_name',
'zip', # archive format
root_dir=None, # current working dir if None
base_dir=None) # cwd if None
存档将在父目录中创建,不会干扰正在存档的目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)