【办公类05-03】Python批量修改文件名前面的序号(已有的序号错了,需要改成正确的号码)

news2025/1/14 18:38:02

背景需求

下载教程,手动输入编号,有一个编号错误,导致后面所有编号都错了。30实际是29,以此类推

怎样才能快速修改编号数字?

前期考虑到可能要改编号,所以在每个编号后面加“ ”(空格),并保证文件名其他位置没有空格

用代码先在编号文件名前面 再加一个“29 ”的编号,判断添加顺序是否正确(万一有搞错项目的情况发生。)

import os
import time


path =r"D:\test\iVX\12 官网教程\04 营销互动(改编号)"

# UI搭建
a=29
fileList=os.listdir(path)

for file in fileList:
    
#   split_str = file.split(' ')

#   newname1 = split_str[0]  # _的第0部分=序号 
#   newname2= split_str[1]  # _的第0部分=序号  
  
  # newname=newname1+'mp4'
  newname='{} '.format(a)+file
  oldname_path = os.path.join(path,file)
  # 文件新路径
  newname_path = os.path.join(path,newname)
  # 新旧对调
  os.rename(oldname_path, newname_path)
  a+=1

结果可以看到,左边的新编号与右边的错误号码差一位,说明新序号正确

再把文件名里面的第二个号码删除

import os
import time


path =r"D:\test\iVX\12 官网教程\04 营销互动(改编号)"

# UI搭建

fileList=os.listdir(path)

for file in fileList:
    
  split_str = file.split(' ')

  newname1 = split_str[0]  # _的第0部分=序号 

  newname2= split_str[2]  # _的第0部分=序号
  
  
  # newname=newname1+'mp4'
  newname=newname1+' '+newname2
  oldname_path = os.path.join(path,file)
  # 文件新路径
  newname_path = os.path.join(path,newname)
  # 新旧对调
  os.rename(oldname_path, newname_path)

用同样的方法修改其他编号。顺利获得正确号码

运行两个代码有点麻烦。可以把两个代码组合在一起。

import os
import time


path =r"D:\test\iVX\12 官网教程\\09 连接"

a=81
fileList=os.listdir(path)

for file in fileList:
    
  split_str = file.split(' ')  #空格作为分割点,提取1 
  newname1 = split_str[1]  # _的第1部分=序号 
    
  newname='{} '.format(a)+newname1
  # 删除了错误的序号,前面加上正确的序号空格
  oldname_path = os.path.join(path,file)
  # 文件新路径
  newname_path = os.path.join(path,newname)
  # 新旧对调
  os.rename(oldname_path, newname_path)  
  a+=1


问题:发现中间有两个空格

path =r"D:\test\iVX\12 官网教程\kong"

fileList=os.listdir(path)

for file in fileList:
    
  split_str = file.split(' ')
  newname1 = split_str[0]  # _的第0部分=序号 
  print(newname1)
  newname2= split_str[2]  # _的第0部分=序号 
  print(newname2)
  newname=newname1+' '+newname2
  oldname_path = os.path.join(path,file)
  # 文件新路径
  newname_path = os.path.join(path,newname)
  # 新旧对调
  os.rename(oldname_path, newname_path)

空格一样大小(1个空格)

重要提示:

不能保证程序正确时,最好把数据备份

否则如果改名失败,文件名上的所有的信息都会被删除,无法恢复

切记要复制一份 ,切记要复制一份 ,切记要复制一份 (重要的事情说三次)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/387822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python版协同过滤算法图书管理系统

基于协同过滤算法的图书管理系统 一、简介(v信:1257309054) ​ 本系统基于推荐算法给用户实现精准推荐图书。 ​ 根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,然…

Typora上传文档图片链接失效的问题+PicGo布置图床在Github

文章目录typora图片链接失效原因PicGO开源图床布置先配置Github2.1先创建新仓库、用于存放图片2.2生成一个token,用picGo访问github3.下载picGo,并进行配置3.1 配置v4.1typora图片链接失效原因 因为你是保存在本地的,因此图片是不能访问,可以…

laravel 邮件发送

配置 Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置。 邮件中的每一项都在配置文件中有单独的配置项,甚至是独有的「传输方式」,允许你的应用使用不同的邮件服务发送邮件 mailers > [smtp > [transport > smtp,host > env(M…

【超级猜图案例上半部分的实现 Objective-C语言】

一、超级猜图这么一个案例: 1.实现之后的效果是这样的: 1)中间有一个图片,点一下,能放大,背景变半透明的黑色: 2)再点一下图片,或者点周围黑色的阴影,图片回归原状, 3)右边有一个“大图”按钮,点一下,实现跟点图片一样的效果, 4)左边有一个“提示”按钮,点…

【Java学习笔记】4.Java 对象和类

前言 本章介绍Java的对象和类。 Java 对象和类 Java作为一种面向对象语言。支持以下基本概念: 多态继承封装抽象类对象实例方法重载 本节我们重点研究对象和类的概念。 对象:对象是类的一个实例(对象不是找个女朋友)&#x…

为什么人们宁可用Lombok,也不把成员设为public?

目录专栏导读一、从零了解JavaBean1、基本概念2、JavaBean的特征3、JavaBean的优点二、定义最简单的JavaBean三、思考一个问题,为何属性是private,然后用get/set方法?四、下面系统的分析以下,why?五、不和谐的声音,禁…

MySQL实战解析底层---行锁功过:怎么减少行锁对性能的影响

目录 前言 从两阶段锁说起 死锁和死锁检测 前言 MySQL 的行锁是在引擎层由各个引擎自己实现的但并不是所有的引擎都支持行锁,比如MyISAM 引擎就不支持行锁不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何时刻只能有…

[深入理解SSD系列综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?

版权声明:付费作品,未经许可,不可转载前言SSD (Solid State Drive),即固态硬盘,通常是一种以半导体闪存(NAND Flash)作为介质的存储设备。SSD 以半导体作为介质存储数据&…

Python进阶-----面对对象4.0(面对对象三大特征之--继承)

目录 前言: Python的继承简介 1.什么是继承 2.继承的好处 3.object类 继承的相关用法 1.继承的定义与法则 2.对继承的重写 3.(单继承)多层继承 4.多继承 5.多继承重写时调用父类方法 前言: 在讲之前,我想说说中…

servlet注解开发

文章目录servlet注解开发内容回顾响应对象 HttpServletResponse重定向与请求转发ServletConfig简介案例ServletContext简介案例Servlet 注解开发简介注解使用案例WebServlet 注解详细参数综合的增删改查案例登录注册功能servlet注解开发 内容回顾 响应对象 HttpServletRespon…

推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言

更多开源项目请查看:一个专注推荐.Net开源项目的榜单 日历对我们来说,最熟悉的就是阳历和农历,在中国每年都有固定的节日、节气、中国特有传统节日,有些节日是固定的,但是节气这些都需要我们经过一定规则换算出来。 所…

【JavaSE】数组的定义和使用(上)

数组的定义和使用(上)6-数组的定义与使用1. 数组的基本概念1.1 为什么要使用数组1.2 什么是数组1.3 数组的创建及初始化1.3.1 数组的创建1.3.2 数组的初始化1.4 数组的使用1.4.1 数组中元素的访问1.4.2 遍历数组2. 数组是引用类型2.1 初始JVM的内存分布2…

【Python - Matplotlib】P1 Matplotlib2D 快速入门

Matplotlib 2D什么是,为什么选择快速上手三层结构图像层结构一览图画图三步法补充画布设置设定图像的长宽以及清晰度代码将图片保存前言 本节为 Matplotlib 简单专题第一节,简单介绍 Matplotlib 的结构,画图三步法,以及介绍一个简…

认识Spring(上)

作者:~小明学编程 文章专栏:Spring框架 格言:热爱编程的,终将被编程所厚爱。 目录 什么是spring 什么是IOC 传统开发 IOC DI spring的创建使用 pom.xml spring.xml 取出bean对象 ApplicationContext BeanFactory App…

【NLP相关】PyTorch多GPU并行训练(DataParallel和DistributedDataParallel介绍、单机多卡和多机多卡案例展示)

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

@Transactional详解

一、事务的概念 百度百科: 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执 行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL&#x…

第十四届蓝桥杯三月真题刷题训练——第 1 天

目录 题目1:数列求值 代码: 题目2:质数 代码: 题目3:饮料换购 代码: 题目1:数列求值 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出…

vulnhub five86-1

总结:私钥登录,隐藏文件很多 目录 下载地址 漏洞分析 信息收集 网站渗透 爆破密码 提权 下载地址 Five86-1.zip (Size: 865 MB)Download (Mirror): https://download.vulnhub.com/five86/Five86-1.zip使用:下载以后打开压缩包,使用vm直…

数据结构(二)(嵌入式学习)

大 家 好 今天讲讲算法和哈希函数,数据结构基础请跳转数据结构(一) 数据结构干货总结(二)算法常见的数据结构及算法你以为我要都讲嘛??????&#…

SpringMVC源码:getHandler、getHandlerAdapter过程

参考资料: 《SpringMVC源码解析系列》 《SpringMVC源码分析》 《Spring MVC源码》 写在开头:本文为个人学习笔记,内容比较随意,夹杂个人理解,如有错误,欢迎指正。 前文: 《SpringMVC源码&a…