主页 > 知识库 > python实现按日期归档文件

python实现按日期归档文件

热门标签:江门智能电话机器人 智能电话机器人调研 甘肃高频外呼系统 400电话在线如何申请 滴滴地图标注公司 地图标注可以远程操作吗 如何申请400电话代理 杭州房产地图标注 天津塘沽区地图标注

  在工作过程中,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实现按日期归档文件》,本文关键词  python,实现,按,日期,归档,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python实现按日期归档文件》相关的同类信息!
  • 本页收集关于python实现按日期归档文件的相关信息资讯供网民参考!
  • 推荐文章