• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实现按日期归档文件

      在工作过程中,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归档文件的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • Python3时间转换之时间戳转换为指定格式的日期方法详解
    • python获取指定时间段内特定规律的日期列表
    • python (logging) 日志按日期、大小回滚的操作
    • Python时间和日期库的实现
    • Python tkinter实现日期选择器
    • Python绘制数码晶体管日期
    • Pycharm创建python文件自动添加日期作者等信息(步骤详解)
    • 基于python获取本地时间并转换时间戳和日期格式
    • python 带时区的日期格式化操作
    • 如何使用 Python 读取文件和照片的创建日期
    • Python 常用日期处理 -- calendar 与 dateutil 模块的使用
    • python 常用日期处理-- datetime 模块的使用
    • python自动提取文本中的时间(包含中文日期)
    • Python 处理日期时间的Arrow库使用
    • Python 日期与时间转换的方法
    • Python如何将字符串转换为日期
    • python实现将中文日期转换为数字日期
    • 教你怎么用python实现字符串转日期
    上一篇:python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
    下一篇:python多线程爬取西刺代理的示例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实现按日期归档文件 python,实现,按,日期,归档,