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/')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章