今天就跟大家聊聊有关怎么在python中根据日期对文件进行归档?python中根据日期对文件进行归档怎么操作?可能很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
下面根据实例给大家进行分析:
import os import datetime import shutil
首先导入 三个库,一个是关于时间,一个是os模块, shutil库可以对文件或者文件夹进行复制移动。
# get file name函数
def get_datetime(i): d = str((datetime.datetime.now() - datetime.timedelta(days=i)).date()).split("-") time = d[0] + d[1] + d[2] return(time)
这里用到的是get file name函数,返回值是指定路径中的最后一个部件“ d = str((datetime.datetime.now() - datetime.timedelta(days=i)).date()).split("-")”是将当前的时间减去昨天的时间进行归档处理,分割方式使用“-”。
# 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
这个new file函数调用另一个get_datetime函数,获得一个指定的日期使用年月日“YYYYMMDD”的格式将日期进行拼接,然后使用isExists来判断文件夹是否存在,对文件名是否存在进行校验,如果此文件夹不存在,则新建文件夹。
delete_flie函数
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
delete_flie函数表示在文件或者文件夹移动结束后,自动把原目录中的文件进行删除,在删除前会使用os.path.exists来验证待删除文件还是否存在。
# 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
get_filename函数用来获取HH文件夹内的文件名,并将其移动到一个新文件夹中;在移动前要会使用os.path.exists来验证待移动文件是否存在。
# Monday special函数
def is_Monday(): if datetime.datetime.now().weekday() == 0: return 3 else: return 1
使用Monday special函数来判断是星期几,因为在周一的时候需要将周五、周六、周日的文件都放在以周五日期命名的文件夹中。datetime.datetime.now().weekday()函数是用0-6来表示周一到周五,所以值为0的时候,返回3;然后这个函数的值将传给get_newfile,再调用get_datetime函数,通过控制这段的i,来控制生成的日期时间:d = str((datetime.datetime.now() - datetime.timedelta(days=i)).date()).split("-"),需要注意的地方就是shutil.copy会改变文件生成时间,但是不好对文件进行判断,所以要使用shutil.move来移动文件。
filePath = 'D:\\HH' pos = is_Monday() aimPath = get_newfile(pos) get_filename(filePath) delete_flie(filePath)
最后就是将所有文件进行归档处理。
看完上述内容,你们对怎么在python中根据日期对文件进行归档?python中根据日期对文件进行归档怎么操作?有进一步的了解吗?如果还想了解更多知识或者相关内容,可以继续关注哦!
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!