Python 在不使用copystat的情况下使用shutil.copytree
我正在尝试编写一个python脚本来备份一个文件夹,并将其保存x天 我用Python 在不使用copystat的情况下使用shutil.copytree,python,shutil,Python,Shutil,我正在尝试编写一个python脚本来备份一个文件夹,并将其保存x天 我用 shutil.copytree(source, finaldest) 我的问题是,原始文件的时间戳仍然存在,这意味着如果其中的文件早于x天,则文件夹将被删除。我想要的是时间戳作为备份时间,无论原始创建日期是什么,在执行copytree()之后,您可以修改文件上的时间戳,如下所示: import os for dirpath, _, filenames in os.walk(finaldest): os.utim
shutil.copytree(source, finaldest)
我的问题是,原始文件的时间戳仍然存在,这意味着如果其中的文件早于x天,则文件夹将被删除。我想要的是时间戳作为备份时间,无论原始创建日期是什么,在执行
copytree()
之后,您可以修改文件上的时间戳,如下所示:
import os
for dirpath, _, filenames in os.walk(finaldest):
os.utime(dirpath, None)
for file in filenames:
os.utime(os.path.join(dirpath, file), None)
您需要访问文件夹的内容吗?你可以用保存文件的方式创建一个存档,但是你仍然可以得到修改的时间。这对我来说不是最好的。脚本将备份收据(这是针对建筑公司的,意味着有很多收据),以防有人意外删除重要收据。我设置了一个特殊的云登录来访问备份,因此希望复制原始结构以便于使用。我得到以下错误:TypeError:utime()正好有2个参数(1个给定参数)。显然
utime()
需要一个None
参数来指定它应该使用当前时间,或者,您可以将自己的自定义时间指定为元组(有关更多信息,请参阅文档)。感谢您的帮助!你的解决方案完美无瑕