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

2023-11-01

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 函数将原始文件重命名为新的文件名。

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

运行前后:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python(10):批量修改文件名 的相关文章

  • 如何在Python的SciPy中更改稀疏矩阵中的元素?

    我构建了一个小代码 我想用它来解决涉及大型稀疏矩阵的特征值问题 它工作正常 我现在要做的就是将稀疏矩阵中的一些元素设置为零 即最顶行中的元素 对应于实现边界条件 我可以调整下面的列向量 C0 C1 和 C2 来实现这一点 不过我想知道是否有
  • Mac OS 上的诗歌安装失败,显示“should_use_symlinks”

    我正在尝试使用以下命令安装诗歌 curl sSL https install python poetry org python3 但它失败了 但有以下例外 例外 此版本的 python 无法在不使用符号链接的情况下创建 venvs 下面是详
  • scipy 将一个稀疏矩阵的所有行附加到另一个稀疏矩阵

    我有一个 numpy 矩阵 想在其中附加另一个矩阵 这两个矩阵的形状为 m1 shape 2777 5902 m2 shape 695 5902 我想将 m2 附加到 m1 以便新矩阵的形状为 m new shape 3472 5902 当
  • Twisted 的 Deferred 和 JavaScript 中的 Promise 一样吗?

    我开始在一个需要异步编程的项目中使用 Twisted 并且文档非常好 所以我的问题是 Twisted 中的 Deferred 与 Javascript 中的 Promise 相同吗 如果不是 有什么区别 你的问题的答案是Yes and No
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 使用 python 中的公式函数使从 Excel 中提取的值的百分比相等

    import xlrd numpy excel Users Bob Desktop wb1 xlrd open workbook excel assignment3 xlsx sh1 wb1 sheet by index 0 colA co
  • 搜索多个字段

    我想我没有正确理解 django haystack 我有一个包含多个字段的数据模型 我希望搜索其中两个字段 class UserProfile models Model user models ForeignKey User unique
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • 动态过滤 pandas 数据框

    我正在尝试使用三列的阈值来过滤 pandas 数据框 import pandas as pd df pd DataFrame A 6 2 10 5 3 B 2 5 3 2 6 C 5 2 1 8 2 df df loc df A gt 0
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse
  • 双击打开 ipython 笔记本

    相关文章 通过双击 osx 打开 ipython 笔记本 https stackoverflow com questions 16158893 open an ipython notebook via double click on osx
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • 学习笔记:MongoDB命令的基础学习,使用springboot实现mongodb视图创建

    学习笔记 MongoDB命令的基础学习 使用springboot实现mongodb视图创建 创建集合 db createCollection my 查看集合 show collections 删除集合 db my drop 插入一条 没有c
  • Python描述符是什么?

    在Python中 通过使用描述符 程序员可以在引用对象属性时定制要完成的工作 接下来我们一起来聊聊Python描述符相关的知识 本质上 描述符是一个类 但它定义了另一个类中属性的访问模式 换句话说 一个类可以将属性管理全权委托给描述符类 描
  • 计算机视觉各领域前沿算法积累

    目录 一 目标检测 1 SSD 2 PaddleDetection 3 mmdetection 4 mediapipe 二 单目标跟踪 1 pytracking 2 pysot 3 SiamMask 4 siammask e 5 Alpha
  • MATLAB神经影像学数据的多模态多元模式分析方法

    在过去的十年中 多变量模式分析的使用在功能磁共振成像 fMRI 研究中变得流行 这并不奇怪 因为 MVPA 与传统且更常用的单变量分析相比具有几个优势 首先 MVPA 可以比单变量方法在区分感兴趣的条件方面提供更高的灵敏度 因为它考虑了体素
  • js栈内存和堆内存与垃圾回收机制

    v8作为javascirpt引擎 对变量的存储主要有两种位置 栈存储和堆存储 栈内存存储基本类型的变量 如Number String boolen undefined null 以及对对象和数组变量的指针 对象是动态分配内存 数组的初始化方
  • 《深入理解计算机系统》怎样学?个人看法和资源分享

    前言 我与 深入理解计算机系统 有三次接触吧 真有缘 第一次 在我读专科大二的时候 自己就看过一遍 深入理解计算机系统 想想就是放寒假前看完的 和现在的时间也差不了多少 第二次 在专科大三下学期又重新重头看起了本书 其主要原因为第一遍看的比
  • [面试题] 递增序列生成

    给定一个表达式 f i j 2 i 5 j i 和 j 为正整数 使得f i j 严格递增 求这个递增序列 思路 和 剑指OFFER 中求丑数的题目很像 序列中第N个数 必然是是前N 1个数乘以 2 或者乘以5 中大于第N 1个数的最小值
  • 高并发场景下的限流策略

    高并发场景下的限流策略 性能调优是针对于代码本身的不规范性和系统资源的瓶颈的 当计算机的硬件资源达到瓶颈的时间已经无法调优了 高并发场景下一方面通过缓存 异步化 服务化 集群去增加整个系统的吞吐量 另一方面通过限流 降级来保护系统 什么是限
  • 机器学习D14——随机森林

    随机森林 是bagging装袋法的代表 弱学习器只可以是决策树 简介 随机森林是一种有监督学习算法 是以决策树为基学习器的集成学习算法 随机森林非常简单 易于实现 计算开销也很小 在分类和回归上表现出非常惊人的性能 因此 随机森林被誉为 代
  • JavaFX 多线程之 Task、Service、ScheduledService

    JavaFX 多线程之 Task Service ScheduledService 一 开发环境 二 javafx concurrent 包 1 Worker 接口 2 Task 类 取消 Task 显示后台 Task 的进度 3 Serv
  • redis配置与优化

    文章目录 redis配置与优化 关系型数据库 非关系型数据库 关系型数据库和非关系型数据库区别 对事务性的支持不同 非关系型数据库产生背景 总结 Redis简介 Redis 具有以下几个优点 使用场景 哪些数据适合放入缓存中 Redis为什
  • mysql提取.sql备份文件中的单个表以及表数据

    背景 随着业务模块的不断在增多 数据库mysql容量也是越来越大 做测试时 整个备份还原比较耗费时间 由于有时候仅仅需要单个表或者少数几个表 要想从整个备份文件中提取指定的表以及数据 需要以下方法 说明 mysql常规备份还原后续补充 废话
  • nginx的安装和全局配置

    目录 何为nginx Nginx 功能介绍 基础特性 nginx架构 Nginx 进程结构 nginx 模块 模块分类 使用方式 编译安装nginx 第一步 获取安装包 第二步 安装依赖 第三步 创建用户nginx 第四步 解压安装包 第五
  • 【PTA】约瑟夫环之循环数组

    一 题目 n个人围成一圈 编号依次为 0 1 2 n 1 从第一个人开始报数 1 2 数到m者出列 再从下一个开始重新报数 数到m者再出列 下面的程序中 用一个循环数组来模拟环 0下标的前一个是n 1 n 1的下一个是0 数组下标表示人的编
  • react项目引入字体 (font-awsome)

    webpack config js const path require path const htmlPlugin require html webpack plugin module exports entry src index js
  • ubuntu安装ros FULL完全版

    UBUNTU安装ROS FULL完全版 1 修改安装源URL Setup your sources list Setup your computer to accept software from packages ros org sudo
  • 调用dll中的服务 提取不到数据_双枪团伙新动向,借云服务管理数十万僵尸网络...

    0x01 概述 近日 我们的域名异常监测系统 DNSMon 捕捉到域名 pro csocools com 的异常活动 根据数据覆盖度估算 感染规模超过100k 我们通过告警域名关联到一批样本和 C2 分析样本后发现是与双枪恶意程序相关的团伙
  • spring项目启动时执行任务

    在我们写代码的时候 很多时候难免碰到一些需求是需要我们在项目启动的时候来 启动线程 读取缓存 开启某个服务等等操作 这时候难免会犹豫该怎么做 究竟在哪里执行这个操作 是加载spring bean的时候 还是项目刚启动的时候 接下来我会介绍几
  • CentOS 7 基本环境设置

    1 修改虚拟机静态ip 1 编辑ifcfg ens33 文件 以root用户登陆 在终端命令窗口中输入 root hadoop101 vim etc sysconfig network scripts ifcfg ens33 TYPE Et
  • python(10):批量修改文件名

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