网站建设淘宝详情页,东至网站建设,百度如何验证网站,深圳网站建设 外包合作背景需求#xff1a;为迎接督导检查#xff0c;保教主任从各条线收集文本资料。并在每个文件名称前手动编号。但是她嘀咕道#xff1a;”为什么两套资料放在一个文件里就不是按照数字序号排序#xff1f;#xff0c;有的是1X-#xff0c;有的是40X#xff0c;看起来很乱…背景需求 为迎接督导检查保教主任从各条线收集文本资料。并在每个文件名称前手动编号。但是她嘀咕道”为什么两套资料放在一个文件里就不是按照数字序号排序有的是1X-有的是40X看起来很乱”我提示她按“名称”把文件名排序果然实现了“先1后4”数字排序模式。同时我也看到她用了两类数字格式第一类是“工作计划编号为1-X第二类为考评表编号为40X。看起来模式不统一。”幸好这些文件只有2位数的数量要是100份还要编号3位数001-999“于是我自告奋勇要调整所有的数字序号为”0X-XX 空格“的样式不超过50份两位数思路分析现有首数字情况1第一种是三个字符”1-X“变成6个字符0X-XX空格1第二种是三个字符”40X“变成6个字符04-XX空格一开始我尝试用”某个字“切割然后拼接的方法比如数字4作为分割点拼接新的名字但是出现了404这个docx后面的名称都不见的问题。要因为有两个4但是提取时只选择第1个4到第2个4之间的信息。第2个4后面的文件名被忽略。所以分割改名法不是完全通用的改名神器而要使用”正则表达式“提取需要保留的部分第一步分类两个格式——401类1-1类第1步简单——修改401类特点18分文件名都是前3位数占3个位置并且与后面文件名中间没有空格改成“04-01空格”的格式思路第1个4是共有的需要改成“04-”第2-3位数字是号码序号变成“01 ”“02 ”……“18 ”后面有空格import os
import timepath rC:\Users\jg2yXRZ\OneDrive\桌面\2023年2月督导室检查资料 - 副本\401fileListos.listdir(path)a1
for file in fileList: # 04-是共有的信息后面2-3位是a的变化数字默认2位数# file[3:]代表文倩前三个数字被删除保留2个数字后面部分的信息包含docx)newname04-{} .format(%02d%a)file[3:]# 文件旧路径oldname_path os.path.join(path,file)# 文件新路径newname_path os.path.join(path,newname)# 新旧对调os.rename(oldname_path, newname_path) a1关键点第2步略复杂——修改1-1类特点18分文件名都是前3位数占3个位置与文件名中间部分有空格部分无空格改成“04-01空格”的格式思路第1个数字有1、2、3第2个字是“-”第3-4位有1位数、也有2位数。需要改成“0X-0X”问题由于1-X这套文件中前面数字的长度不统一所以修改起来略复杂步骤1因为有一个1-10所以先通过-把数字改成0x-0X(10前面也加0import os
import timepath rC:\Users\jg2yXRZ\OneDrive\桌面\2023年2月督导室检查资料 - 副本\1-1 - 副本
fileListos.listdir(path)
# a1
for file in fileList: split_str file.split(-)newname1 split_str[0] # _的第0部分序号 print(newname1)newname2 split_str[1] # _的第0部分序号 print(newname2)newname0newname1-0newname2# 文件旧路径oldname_path os.path.join(path,file)# 文件新路径newname_path os.path.join(path,newname)# 新旧对调os.rename(oldname_path, newname_path)
因为就1个01-010所以我就手动删除了左边的0见下图保证前面四个数字占五个格子——“0X-0X”步骤2删除各种空格序号与汉字之间有不同长度的空格import os
import timepath rC:\Users\jg2yXRZ\OneDrive\桌面\2023年2月督导室检查资料 - 副本\1-1 - 副本
for filename in os.listdir(path):newName str(filename)newName newName.replace( , ) #此处可以自行修改变成去除空格or去除逗号等等os.rename(os.path.join(path,filename),os.path.join(path,newName))print(文件 ,filename,——,newName, 重命名已完成)步骤3提取前5个字、提取后N个汉字中间加空格import os
import timepath rC:\Users\jg2yXRZ\OneDrive\桌面\2023年2月督导室检查资料 - 副本\1-1 - 副本fileListos.listdir(path)for file in fileList: # file[0:5]代表文件前5个数字file[5]代表文件前后面的所有汉字和后缀),组合后中间加空格newname1file[0:5]newname2file[5:]newnamenewname1 newname2# 文件旧路径oldname_path os.path.join(path,file)# 文件新路径newname_path os.path.join(path,newname)# 新旧对调os.rename(oldname_path, newname_path) 所有的号码都统一了前后对比为什么运行前最后的编号是4184号文件18′运行后编号04-194号文件19份查了一下原来之前保教主任提供的文件是手动编号其中有错误编了两个415后面416-418实际少了但用Python遍历循环编a1 a1中就会自动生成19个数字启示因此用Python编号不仅比人工编号速度块同时也比人工编号准确度高也有批量修改编号的可能性编号数字后面加空格便于切割修改