gpt4 book ai didi

Python:如何使用shutil.make_archive?

转载 作者:行者123 更新时间:2023-11-30 22:33:07 26 4
gpt4 key购买 nike

我不知道如何使用 shutil.make_archive 将文件夹压缩到 zip 文件中,然后将该 saved_20170721.zip 文件放入名为的文件夹中过去的数据

我有代码:

from shutil   import make_archive
from datetime import datetime

folderpath_to_zip_up = 'c:\my_work\todays_data' # I wanna zip up this folder
folderpath_archive = 'c:\past_data' # And put it into here as file
filename = 'saved_{:%Y-%m-%d}'.format(datetime.now())

make_archive(filename, 'zip', folderpath_archive, folderpath_to_zip_up)

我的目标是 'c:\past_data' 看起来像:

past_data---+ saved_20170721.zip
+ saved_20170722.zip
+ saved_20170723.zip
+ saved_20170724.zip

但我无法理解 documentation我不断得到奇怪的结果。

最佳答案

我遇到了同样的问题,发现 Shutil.make_archive 的文档非常密集且违反直觉。

我最终得到了它,并编写了一个函数来帮助我,因为我永远无法第一次就把它做好。

import os, shutil
def make_archive(source, destination):
base = os.path.basename(destination)
name = base.split('.')[0]
format = base.split('.')[1]
archive_from = os.path.dirname(source)
archive_to = os.path.basename(source.strip(os.sep))
shutil.make_archive(name, format, archive_from, archive_to)
shutil.move('%s.%s'%(name,format), destination)

make_archive('/path/to/folder', '/path/to/folder.zip')

希望它有帮助..我这里也有一篇关于它的博客文章

http://www.seanbehan.com/how-to-use-python-shutil-make_archive-to-zip-up-a-directory-recursively-including-the-root-folder/

关于Python:如何使用shutil.make_archive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45245079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com