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 图片验证码代码分享
Jul 04 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
python正则表达式re之compile函数解析
Oct 25 Python
mac系统安装Python3初体验
Jan 02 Python
深入浅析Python中的yield关键字
Jan 24 Python
基于python OpenCV实现动态人脸检测
May 25 Python
浅析python中while循环和for循环
Nov 19 Python
Python编程快速上手——强口令检测算法案例分析
Feb 29 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
Python如何急速下载第三方库详解
Nov 02 Python
python 爬取豆瓣网页的示例
Apr 13 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php中使用sftp教程
2015/03/30 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Python日期操作学习笔记
2008/10/07 Python
python中正则表达式的使用详解
2014/10/17 Python
Python字符串中查找子串小技巧
2015/04/10 Python
python字符串与url编码的转换实例
2018/05/10 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
大专生毕业的自我评价
2014/02/06 职场文书
园艺师求职信
2014/03/10 职场文书
大学专科求职信
2014/07/02 职场文书
MySQL数据库事务的四大特性
2022/04/20 MySQL