【办公类17-02】批量给各种格式文件(混合格式文件)前面加序号

背景需求

今天在整理py代码,看到以前遗留一个程序——如何给一个文件夹里面的所有文件(各种格式,文件夹\word\ppt\py\excle\txt)前面批量加序号(从01-10)

问题:

比如下面各种格式的文件,我需要前面加序号,便于观看查找。它的编号方式会怎样?会按照现有的顺序(文件夹-txt-py-ppt-xls)从小到大排序吗?(见下图)

代码

# https://blog.csdn.net/GX1415926535/article/details/126930440?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-126930440-blog-116981534.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-126930440-blog-116981534.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=7

import os

path = r"D:\test\1"
namelist = os.listdir(path)

for i, name in enumerate(namelist):
    old_name = path + "\\" + name
    new_name = path + "\\" + '{:0>2d}'.format(i+1) + " " + name    # 2位数 从01开始
    # new_name = path + "\\" + name[5:]        # 这一步用来逆操作
    os.rename(old_name, new_name)

从结果来看

  1. 编号不按照原有排序编号。

  1. 排序与各类格式无关(ppt/xlsx/文件夹)

  1. 排序原则:根据文件名首字母——先数字、再英文、再汉字排列

  1. 数字内部从1到“无穷”,英文内部从A-Z,汉字内部首汉字拼音排序A-Z

验证

结论:

如果一个文件夹内部的文件有多种格式,用Python批量添加“前缀序号”,其排列方式如下:

  1. 排序根据文件名首字母——先找所有首字为“数字”的文件名字(不分文件夹和其他格式)进行排序(01,02,03……)、排完数字后,再按照“英文A-Z”对文件名字(不分文件夹和其他格式)的首字母进行排序(04,05,06……)、最后对首字为汉字的文件名字(不分文件夹和其他格式)的第一个汉字的拼音进行排序(07,08,09……)。

  1. 基于这种排列方法,在混合各种格式的文件中,通常文件夹(黄色)会在文件最上面或最下面(序号都是从小到大或从大到小排列。),其他类型文件在最下面或最上面(序号都是从小到大或从大到小排列。)

  1. 由于是根据“数字、英文、汉字”并“文件夹在最前”的规律,因此混合各种格式的文件夹里,新增的序号一般很难做到完全按照升序(从01 02……)或者降序(10 09……)排列。

启示:

  1. 日常建立的各类格式文件的文件名需要添加“日期”前缀

日常文件名设置最好在前面加一个“日期”,可以保证每类文件都能按“数字”排序(不要英文、汉字混排)

加了序号,更容易查找(复制、黏贴纸类的)

  1. 对于通讯类资料的整理

日常工作中,我干的最普遍的就是写“科研比赛”“活动通讯”,当各种资料汇总到一起,看起来就非常不便利。所以非常需要加”序号+空格“进行区分。了解总数,并方便 掌握记忆文件的序号

如:竞赛类(正文、附件、通知):总是先出现“文件夹”后出现‘其他格式“

如:通讯类(通讯、照片、网络通知、获奖名单等) 加数字序号后,有一种规范的感觉。并能快速知道文件总数。

PS:删除序号

如果对于已经批量的序号不满意,也可以删除前缀序号

1、以下11个文件序号添加“前缀序号”

2、执行程序(后半段隐藏)运行后效果。

3、运行后效果:

问题:我对这个排序号不满意,想要删除前面的序号

  1. 把第二部分隐藏的程序显示出来。把第一部分加序号的代码隐藏

2、运行后添加的序号没有了

因为序号后面有一个空格,以空格为分割点,保留空格后面的内容。这种情况下后面的文件名名称中不能有空格。

3、文件又恢复原始状态(但又一个文件缩短了,说明里面两个空格)

重点提示:

  1. 因此原始文件名中尽量不要出现空格,实在需要空格,可以用“_"替代。

  1. 数字作为首字是最好的文件名排序对象,每个文件最好都能用时间作为文件名起始信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值