日常工作目录整理:将新建文件夹改名为当前日期,并将其内的所有文件添加当前日期前缀

文章介绍了一个Python脚本,该脚本用于将新建的文件夹重命名为当前日期,并为文件夹内所有文件添加当前日期作为前缀,便于日后管理和检索。脚本涉及到os模块进行目录操作,time模块处理日期格式化,以及logging模块进行调试信息记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        日常工作中,我习惯新建一个文件夹,并将当天处理的所有文件丢到里面去,并以当前日期为文件夹名。这样,日后要查找时可以依据日期来方便查询,写年终总结时,也可快速回顾一整年的工作。

        下面这段代码,其作用就是辅助上述操作:将新建文件夹改名为当前日期,并将其内的所有文件添加当前日期前缀。主要是Python的日期格式化、函数返回值的应用与os目录操作方法。

'''将新建文件夹改名为当前日期,并将其内的所有文件添加当前日期前缀'''
#导入日志模块
import logging
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s-%(levelname)s:%(message)s')
#logging.disable(logging.CRITICAL)
#logging.debug(变量)

import os

# 定义函数:

#定义切换工作目录函数
def 切换工作目录(工作目录):
    原工作目录 = os.getcwd()
    logging.debug(f'原工作目录:%s' % (原工作目录))
    #预存储工作目录
    os.chdir(工作目录)
    现工作目录 = os.getcwd()
    logging.debug(f'现工作目录:%s' % (现工作目录))
    #切换到工作目录

#获取当前工作目录下的所有文件名

def 列出目录文件(路径):
    import os
    文件目录 = os.listdir(路径)
    print(f'目录“{路径}”下有以下文件:\n{文件目录}')
    #返回文件夹内的文件清单
    return 文件目录

#如果主文件名没有日期前缀,则添加日期前缀并重命名
def 加当前日期前缀重命名(文件列表, 前缀='', 后缀=''):
    import os
    计数 = 0
    for 原文件 in 文件列表:
        文件名 = os.path.splitext(原文件)
        主文件名 = 文件名[0]
        扩展名 = 文件名[1]
        if 主文件名[:8]!=日期前缀:
            os.renames(原文件, (日期前缀+前缀 + 主文件名 + 后缀  + 扩展名))
            计数+=1
    print(f'共有{计数}个文件被重命名')

#执行:
# 生成格式化20230314形式目录名前缀
import time
日期前缀=time.strftime("%Y%m%d",time.localtime())
#time.strftime方法用于格式化日期,把日期格式转化为字符串格式
#%Y:完整年份,如:2023
# %m:月份,如:01~12(两位)
# %d:日期,如:01-31(两位)
# %c:本地日期和时间,如:Tue Mar 14 15:52:08 2023
# %x:本地日期,月/日/年,如:03/14/23
# %X:本地时间,时:分:秒,如:15:54:28
# %j:该年中第几天,001~366
# %w:该日期中第几天,0~6,星期天为第0天
# %U:该年中第几个星期,00~53,星期天为一周的开始
# %H:该日第几个小时(24小时制)00~23
# %I:该日第几个小时(12小时制)00~12
# %M:分钟,00~59
# %S:秒,00-61(出于历史的原因,支持61秒)
# %a:简写英文星期,Mon,Tue,Wed,Thu,Fri,SatmSun
# %A:完整拼写英文星期
# %b:简写月份
# %B:完整拼写月份
# %p:上午或下午,AM或PM
# %%:百分号本身,%

def 将指定目录转换为当前日期(待处理目录):
    目录各部分列表=待处理目录.split('\\')
    logging.debug(目录各部分列表)
    工作目录=目录各部分列表[-1]
    logging.debug(工作目录)
    工作路径=os.path.dirname(待处理目录)
    logging.debug(工作路径)
    #os.path.dirname(路径)方法获取该路径中除最后一级目录外的路径
    新文件夹名=工作路径+'\\'+日期前缀
    logging.debug(新文件夹名)
    if 工作目录!=日期前缀:
        os.rename(待处理目录,新文件夹名)
        新目录文件列表=列出目录文件(新文件夹名)
        #返回文件夹路径
        return 新文件夹名

#执行
待处理目录='F:\\我的文档\\文件处理\\新建文件夹'
日期目录=os.path.dirname(待处理目录)+'\\'+日期前缀
if os.path.isdir(待处理目录):
    #如果待处理目录是目录(已存在)
    文件夹路径=将指定目录转换为当前日期(待处理目录)
    #输出文件夹路径给“列出目录文件”函数和“切换工作目录”函数
    文件清单=列出目录文件(文件夹路径)
    #输出文件清单给"加当前日期前缀重命名"函数
    切换工作目录(文件夹路径)
    #切换工作目录到刚刚重命名的文件夹中,避免繁琐的路径定义
    加当前日期前缀重命名(文件清单,前缀='-')
    #显示最终结果
    列出目录文件(文件夹路径)
elif os.path.isdir(日期目录):
    #如果日期目录已存在
    切换工作目录(日期目录)
    文件清单 = 列出目录文件(日期目录)
    加当前日期前缀重命名(文件清单, 前缀='-')
    列出目录文件(日期目录)
# 打开目录
import os
os.startfile(os.getcwd())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

将出东方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值