python實現(xiàn)按日期歸檔文件
在工作過程中,data目錄會一直接收文件,收到的文件放到一個大目錄里不好判斷是否漏收,也不利于檢索;
所以寫了個腳本,每天早上九點用Windows計劃執(zhí)行,將昨日這個文件夾內(nèi)收到的文件全部歸檔,歸檔文件夾的名字就是昨天的日期,腳本及解釋如下:
import os import datetime import shutil # get file name def get_datetime(i): d = str((datetime.datetime.now() - datetime.timedelta(days=i)).date()).split("-") timeoffile = d[0] + d[1] + d[2] return(timeoffile) # new file def get_newfile(i): filename = get_datetime(i) aimPath = 'C:\\data\\' + filename isExists=os.path.exists(aimPath) if not isExists: os.makedirs(aimPath) print(aimPath + 'ok!') return aimPath else: print(aimPath + 'file is exists!') return False def delete_flie(filePath): for i,j,k in os.walk(filePath): n = 0 while n < len(k): fileneed = filePath + '\\' + k[n] if(os.path.exists(fileneed)): os.remove(fileneed) else: pass n = n + 1 # get file name and move def get_filename(filePath): for i,j,k in os.walk(filePath): n = 0 while n < len(k): fileneed = filePath + '\\' + k[n] if(os.path.exists(fileneed)): shutil.move(fileneed,aimPath) else: pass n = n + 1 # Monday special def is_Monday(): if datetime.datetime.now().weekday() == 0: return 3 else: return 1 filePath = 'C:\\data' pos = is_Monday() aimPath = get_newfile(pos) get_filename(filePath) delete_flie(filePath)
1.get_newfile
該函數(shù)調(diào)用get_datetime函數(shù),獲得指定日期,并按照YYYYMMDD的格式將日期拼接;
使用isExists,來對文件名是否存在進行校驗,如果改文件夾不存在,則新建文件夾。
2.delete_flie
在移動結(jié)束后,刪除原目錄的文件;
在刪除前要使用os.path.exists驗證待刪除文件是否存在。
3.get_filename
獲取date文件夾內(nèi)的文件名,并將其移動到新文件夾內(nèi);
在移動前要使用os.path.exists驗證待移動文件是否存在。
4.is_Monday
周一的時候需要將周五、周六、周日的文件都放在以周五日期命名的文件夾中,所以使用這個函數(shù)來判斷是星期幾;
datetime.datetime.now().weekday()函數(shù)是0-6來表示周一-周五,所以值為0的時候,返回3;
這個函數(shù)的值將傳給get_newfile,再調(diào)用get_datetime函數(shù),通過控制這段的i,來控制生成的日期時間:
d = str((datetime.datetime.now() - datetime.timedelta(days=i)).date()).split("-")
注:shutil.copy會改變文件生成時間,不好對文件進行判斷,所以要使用shutil.move移動文件
以上就是python實現(xiàn)按日期歸檔文件的詳細內(nèi)容,更多關(guān)于python歸檔文件的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python3時間轉(zhuǎn)換之時間戳轉(zhuǎn)換為指定格式的日期方法詳解
- python獲取指定時間段內(nèi)特定規(guī)律的日期列表
- python (logging) 日志按日期、大小回滾的操作
- Python時間和日期庫的實現(xiàn)
- Python tkinter實現(xiàn)日期選擇器
- Python繪制數(shù)碼晶體管日期
- Pycharm創(chuàng)建python文件自動添加日期作者等信息(步驟詳解)
- 基于python獲取本地時間并轉(zhuǎn)換時間戳和日期格式
- python 帶時區(qū)的日期格式化操作
- 如何使用 Python 讀取文件和照片的創(chuàng)建日期
- Python 常用日期處理 -- calendar 與 dateutil 模塊的使用
- python 常用日期處理-- datetime 模塊的使用
- python自動提取文本中的時間(包含中文日期)
- Python 處理日期時間的Arrow庫使用
- Python 日期與時間轉(zhuǎn)換的方法
- Python如何將字符串轉(zhuǎn)換為日期
- python實現(xiàn)將中文日期轉(zhuǎn)換為數(shù)字日期
- 教你怎么用python實現(xiàn)字符串轉(zhuǎn)日期
相關(guān)文章
Python提取JSON格式數(shù)據(jù)實戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于Python提取JSON格式數(shù)據(jù)的相關(guān)資料, Python提供了內(nèi)置的json模塊,用于處理JSON數(shù)據(jù),文中給出了詳細的代碼示例,需要的朋友可以參考下2023-07-07Python抓取數(shù)據(jù)到可視化全流程的實現(xiàn)過程
這篇文章主要介紹了Python抓取數(shù)據(jù)到可視化全流程的實現(xiàn)過程,2022-01-01OpenCV-Python實現(xiàn)懷舊濾鏡與連環(huán)畫濾鏡
很多時候通過ps可以做很多效果,今天我們來介紹使用OpenCV-Python實現(xiàn)懷舊濾鏡與連環(huán)畫濾鏡,具有一定的參考價值,感興趣的可以了解一下2021-06-06python中數(shù)組和矩陣乘法及使用總結(jié)(推薦)
這篇文章主要介紹了python中數(shù)組和矩陣乘法及使用總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Python學(xué)習(xí)筆記之Django創(chuàng)建第一個數(shù)據(jù)庫模型的方法
今天小編就為大家分享一篇Python學(xué)習(xí)筆記之Django創(chuàng)建第一個數(shù)據(jù)庫模型的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08