Python——实现自动化打包文件并备份

01 实现背景

1、os模块,实现文件的重命名、创建新文件夹操作

2、datetime模块,用于获取当前年、月、日

3、shutil模块,用于移动文件

4、zipfile模块,用于创建压缩包



02 实现目标

1、找出当前目录下超过3个月未操作过的文件,并将其重命名,在原本文件名的开头加上最后修改日期,如 “text.py” 改为 “2020-5-17-text.py”

2、创建一个新文件夹叫backup,将所有重命名的文件都添加到压缩包里,给压缩包加上今天日期

3、将压缩包移动到backup文件夹里,并删除原始文件


03 注意事项

1、若想实现任意目录下的压缩操作,可以在os.walk()函数中自行加入路径

2、代码中自定义过期文件时间为3个月,若想更改过期文件的时间,可以自行修改数字‘90’

04 实现代码

import os
import datetime
import shutil
import  zipfile
year = str(datetime.datetime.now().year)
month = str(datetime.datetime.now().month)
day = str(datetime.datetime.now().day)

time1 = datetime.datetime.now()
year = str(datetime.datetime.now().year)
month = str(datetime.datetime.now().month)
day = str(datetime.datetime.now().day)
if not os.path.exists('backup'):
	os.mkdir('backup')

for dirpath,dirnames,file in os.walk('./'):
	time2 = datetime.datetime.fromtimestamp(os.stat(dirpath).st_mtime)
	if (time1 -time2).days < 90:
		for files in file:
			Olddir = os.path.join(dirpath,files)
			Newdir = os.path.join(dirpath,year+'-'+month+'-'+'  '+day+files)
			os.rename(Olddir,Newdir)
			with zipfile.ZipFile(year+'-'+month+'-'+'  '+day+'.zip','w') as zipobj:
				zipobj.write(Newdir)
			os.remove(Newdir)



shutil.move(year+'-'+month+'-'+'  '+day+'.zip','backup/')

猜你喜欢

转载自blog.csdn.net/qq2539879928/article/details/106175661