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爬虫之urllib2中的两个重要概念:Openers和Handlers
Nov 05 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
Tensorflow加载预训练模型和保存模型的实例
Jul 27 Python
numpy下的flatten()函数用法详解
May 27 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
python打包成so文件过程解析
Sep 28 Python
pygame实现非图片按钮效果
Oct 29 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
Python collections模块的使用方法
Oct 09 Python
Python urlopen()参数代码示例解析
Dec 10 Python
python中mongodb包操作数据库
Apr 19 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
PHP5/ZendEngine2的改进
2006/10/09 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
python的类方法和静态方法
2014/12/13 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
英国女装网上商店:I Saw It First
2018/10/18 全球购物
大学生村官工作感言
2014/01/10 职场文书
网上书店创业计划书
2014/01/12 职场文书
机关单位动员会主持词
2014/03/20 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
升职演讲稿范文
2014/05/23 职场文书
课外活动总结
2015/02/04 职场文书
圣诞晚会主持词
2015/07/01 职场文书