python实现按日期归档文件


Posted in Python onJanuary 30, 2021

在工作过程中,data目录会一直接收文件,收到的文件放到一个大目录里不好判断是否漏收,也不利于检索;

所以写了个脚本,每天早上九点用Windows计划执行,将昨日这个文件夹内收到的文件全部归档,归档文件夹的名字就是昨天的日期,脚本及解释如下:

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

该函数调用get_datetime函数,获得指定日期,并按照YYYYMMDD的格式将日期拼接;

使用isExists,来对文件名是否存在进行校验,如果改文件夹不存在,则新建文件夹。

2.delete_flie

在移动结束后,删除原目录的文件;

在删除前要使用os.path.exists验证待删除文件是否存在。

3.get_filename

获取date文件夹内的文件名,并将其移动到新文件夹内;

在移动前要使用os.path.exists验证待移动文件是否存在。

4.is_Monday

周一的时候需要将周五、周六、周日的文件都放在以周五日期命名的文件夹中,所以使用这个函数来判断是星期几;

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移动文件

以上就是python实现按日期归档文件的详细内容,更多关于python归档文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
用Python写冒泡排序代码
Apr 12 Python
深入理解python多进程编程
Jun 12 Python
Python序列循环移位的3种方法推荐
Apr 09 Python
Python 实现在文件中的每一行添加一个逗号
Apr 29 Python
Python实现的读写json文件功能示例
Jun 05 Python
python读取xlsx的方法
Dec 25 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
Aug 12 Python
Python List列表对象内置方法实例详解
Oct 22 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 Python
python实现逻辑回归的示例
Oct 09 Python
Python LMDB库的使用示例
Feb 14 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 #Python
如何用Django处理gzip数据流
Jan 29 #Python
Spy++的使用方法及下载教程
Jan 29 #Python
Python实现随机爬山算法
Jan 29 #Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 #Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 29 #Python
python热力图实现简单方法
Jan 29 #Python
You might like
PHP制作图型计数器的例子
2006/10/09 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
js实现搜索栏效果
2018/11/16 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python获取远程图片大小和尺寸的方法
2015/03/26 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python Cookie 读取和保存方法
2018/12/28 Python
对python生成业务报表的实例详解
2019/02/03 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
机电系毕业生求职信
2014/07/11 职场文书
民用住房租房协议书
2014/10/29 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python