python(10):批量修改文件名

news2024/11/13 19:03:09

文章目录

  • 1. 使用Python的字符串操作来去除文件名高位的多余零
    • 说明
    • 代码
    • 示例
  • 2. 将文件夹中的文件重命名为递增的数字加上原始文件名的后缀
    • 代码
    • 运行前后:

1. 使用Python的字符串操作来去除文件名高位的多余零

说明

一个目录下的文件名是6位数字序号加上后缀的格式,例如 000001.txt000002.jpg000003.csv,你可以使用Python的字符串操作来去除高位的多余零。

代码

下面是一个示例代码:

import os

directory = '/path/to/directory'  # 替换为你的目录路径

# 获取目录下所有文件名
filenames = os.listdir(directory)

# 遍历文件名并去除高位多余的零
for filename in filenames:
    basename, extension = os.path.splitext(filename)
    new_filename = basename.lstrip('0') + extension
    old_path = os.path.join(directory, filename)
    new_path = os.path.join(directory, new_filename)
    os.rename(old_path, new_path)

在上述代码中,我们首先使用 os.listdir 函数获取目录下的所有文件名。然后,对每个文件名进行处理。通过 os.path.splitext 函数,我们将文件名拆分为基本名称和扩展名。接下来,使用 lstrip 函数去除基本名称前面的多余零,并将其与扩展名重新组合成新的文件名。最后,使用 os.rename 函数将原始文件名修改为新的文件名。

注意:在使用代码之前,请确保备份目录中的文件,以免意外修改导致数据丢失。

示例

操作前
在这里插入图片描述

操作后
在这里插入图片描述

2. 将文件夹中的文件重命名为递增的数字加上原始文件名的后缀

使用Python中的os模块来遍历文件夹中的文件,并使用os.rename函数来进行文件重命名。下面是一个示例代码,展示了如何将文件夹中的文件重命名为递增的数字加上原始文件名的后缀:

代码

import os

folder_path = 'path/to/folder'  # 文件夹路径

file_list = os.listdir(folder_path)  # 获取文件夹中的文件列表
file_list.sort()  # 按照文件名排序

for i, file_name in enumerate(file_list, start=1):
    file_extension = os.path.splitext(file_name)[1]  # 获取文件名后缀
    new_file_name = f"{i}{file_extension}"  # 新的文件名
    
    old_file_path = os.path.join(folder_path, file_name)  # 原始文件路径
    new_file_path = os.path.join(folder_path, new_file_name)  # 新的文件路径
    
    os.rename(old_file_path, new_file_path)  # 执行文件重命名操作

在上述代码中,需要将 'path/to/folder' 替换为要进行重命名的文件夹的实际路径。代码首先使用 os.listdir 函数获取文件夹中的文件列表,并使用 sort 方法对文件列表按文件名进行排序。然后,通过遍历文件列表,并使用 enumerate 函数以及 start=1 参数设置起始编号为1,依次获取文件名和索引值。使用 os.path.splitext 函数获取文件名的后缀,并将编号和后缀拼接成新的文件名。最后,使用 os.rename 函数将原始文件重命名为新的文件名。

请确保在运行代码之前,提前备份好文件夹中的文件,以防止意外的数据丢失。

运行前后:

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

PaddleSeg在Windows上的配置及人像分隔使用

PaddleSeg是基于飞桨PaddlePaddle开源的端到端图像分割套件,提供语义分割、交互式分割、Matting、全景分割四大分割能力。源代码地址:https://github.com/PaddlePaddle/PaddleSeg,license为Apache-2.0,最新发布版本为2.8。 Window…

借用jQuery发送Http请求的实现(内附源码)

文章目录 一、前言二、jQuery 介绍三、jQuery 下载四、jQuery 使用五、Http客户端DEMO实现 一、前言 最近在解决项目上前同事开发的视频播放器问题,视频播放器是用Qt开发,作为播放插件供Web调用。 播放器与Web的通信方式采用的是Http,数据格…

libevent(1)windows下安装libevent

Socket通信库libevent成熟、稳定、性能高,在unix和windows下都能使用,在证券交易领域也有不少成功的应用,已经用事实证明是非常棒的socket通信库。对我们目前交易系统的unix重构来说,是比较合适的选择 –– 坑少、在证券交易项目中…

Colors颜色代码对应表 | 常见颜色值的中英文对照及颜色值代码表Hex代码RGB代码

颜色代码对应表_颜色代码表大全——最全的颜色代码以及对应图片 Hex代码 RGB代码 关于颜色的英文,不仅仅有七个...... 一、常用颜色的英文名称: redcrimsonfirebrickdarkredbrownmaroonsiennasaddlebrownindianredrosybrownlightcoralsalmondarksalm…

壳牌小程序笔记

壳牌加油站 uni-app-基础-day01 概览 为什么要学uni-app? 现在很多中小型公司,都有自己的小程序项目,然后开发小程序就会用到uni-app。 uni-app没有诞生之前,怎么写小程序 使用原生微信小程序这个框架去开发? 只…

matplotlib---绘制折线图

1. 折线图 绘制一条线: plot函数来绘制折线图。下面是对各个参数的解释: x:要绘制折线图的x轴数据。y:要绘制折线图的y轴数据。c(可选):指定折线的颜色。默认为蓝色("b"…

三模块七电平级联H桥整流器电压平衡控制策略仿真

三模块七电平级联H桥整流器电压平衡控制策略MATLAB仿真资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87934753模型简介: MATLAB2021b 采用三模块七电平级联H桥整流器仿真,采用电压电流双闭环控制,电流环采用PR控制&am…

「团建活动」无锡某企业2023拓展培训

如何让新员工快速融入集体,自发成长,一次次有效团建。 ➡️明确团队目标,提高处理问题的效率和能力,互相配合,更好完成任务 ; ➡️协调个人与团队的关系,增进情感; ➡️激励团队&…

深度学习时间序列预测项目案例数据集介绍

💥项目专栏:【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍) 一、数据集介绍 🌈 本专栏使用的数据集为 风速预测的时间序列数据,该数据集包含一个气象站内嵌入的5个天气变量传感器阵列的 6574 个每日平均样本。该设备…

rabbitmq第一课-rabbitmq的快速安装以及核心概念

一、MQ介绍 1.什么是MQ?为什么要用MQ? 消息队列是一种在应用程序之间传递消息的技术。它提供了一种异步通信模式,允许应用程序在不同的时间处理消息。消息队列通常用于解耦应用程序,以便它们可以独立地扩展和修改。在消息队列中…

LNMP架构搭建实操

目录 一、安装Nginx服务 1.安装依赖包 2.创建Nginx运行用户 3.编译安装Nginx源码包 4.优化路径便于使用 5、添加 Nginx 系统服务 二、安装Mysql服务 1.安装Mysql环境依赖包 2.创建Mysql运行用户 3.编译安装 4.修改mysql配置文件 5.更改mysql安装目录和配置文件的属…

ArduPilot开源代码之AP_Logger

ArduPilot开源代码之AP_Logger 1. 源由2. Logger类2.1 Copter初始化2.2 Copter任务 3. 实例理解3.1 Copter设备应用任务3.1.1 Copter::ten_hz_logging_loop3.1.2 Copter::twentyfive_hz_logging 3.2 AP_Logger应用类任务3.2.1 AP_Logger::periodic_tasks3.2.2 AP_Logger::io_th…

ORB_SLAM3 IMU预积分PreintegrateIMU

这篇博文主要分享ORB_SLAM3中Tracking::PreintegrateIMU(),其主要包括几个部分: 获得两帧之间的IMU数据中值积分IMU状态更新 关于IMU的理论推导参考: ORB_SLAM3_IMU预积分理论推导(预积分项)ORB_SLAM3_IMU预积分理论推导(噪声分析)ORB_SLA…

第五章 Linux的文件权限与目录配置

Linux最好的地方之一就在于他的多用户多任务环境。为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变得很重要了。Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各有read/write/execute等权限。 5.1 使用者…

【Servlet学习一】认识Servlet 创建第一个Servlet项目

目录 🌟需要知道: 🌈1、Tomcat是什么? 🌈 2、Maven 🌟一、认识Servlet 🌈1、Servlet是什么? 🌈2、实现第一个Servlet项目。 🌈3、简单了解Postman工具…

Python3 模块与输入与输出 | 菜鸟教程(十二)

目录 一、Python3 模块 (一)import 语句 1、想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下: 2、当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。 3、搜索路径是…

PID控制算法 – 1、Sample Time(采样时间)

前面介绍的PID代码虽然能跑起来,但是还存在一些问题。 PID控制算法 – 0、PID原理_资深流水灯工程师的博客-CSDN博客 对应的代码也重新贴一下,方便比较 /*工作变量*/ unsigned long lastTime; double Input, Output, Setpoint; double errSum, lastEr…

【初识C语言(2)】字符串+转义字符+注释

文章目录 1. 字符串2. 转义字符转义字符表常见转义字符 3. 注释 1. 字符串 “hello world.\n” 上面这种由双引号引起的一串字符就被称为字符串; 字符串的存储 C 语言当中没有字符串类型,如果想要将字符串存储起来的话就需要用到字符串数组。 #include…

LLaMA及其子孙模型概述

文章目录 LLaMAAlpacaVicunaKoalaBaize (白泽)骆驼(Luotuo)BELLEGuanaco LLaMA 与原始transformer的区别: 预归一化[GPT3]。为了提高训练稳定性,对每个Transformer子层的输入进行归一化,而不是对输出进行归一化。使用了Zhang和Sennrich(201…

Redis进阶篇(附面试快速答法)

文章目录 Redis使用场景1、缓存穿透布隆过滤器小总结面试快速答法 2、缓存击穿小总结面试快速答法 3、缓存雪崩面试快速答法 4、双写一致性小总结面试快速答法 5、持久化机制面试快速答法 6、数据过期策略小总结面试快速答法 7、数据淘汰策略小总结面试快速答法 8、分布式锁小总…