在python中按顺序重命名文件

2023-12-08

您好,我正在尝试重命名目录中的文件(test.jpeg、test1.jpeg、test2.jpeg 等...)(People-000、People-001、People-002 等...)

但我还没有找到在线任何地方做到这一点的好方法。 我对 python 有点陌生,但如果我弄清楚这一点,它将非常有用。


如果您不介意新旧名称之间的对应关系:

import os
_src = "/path/to/directory/"
_ext = ".jpeg"
for i,filename in enumerate(os.listdir(_src)):
    if filename.endswith(_ext):
        os.rename(filename, _src+'People-' + str(i).zfill(3)+_ext)

但是,如果新旧文件名的结尾号必须一致,则可以使用正则表达式:

import re
import os
_src = "/path/to/directory/"
_ext = ".jpeg"

endsWithNumber = re.compile(r'(\d+)'+(re.escape(_ext))+'$')
for filename in os.listdir(_src):
    m = endsWithNumber.search(filename)
    if m:
        os.rename(filename, _src+'People-' + str(m.group(1)).zfill(3)+_ext)
    else:
        os.rename(filename, _src+'People-' + str(0).zfill(3)+_ext)

使用正则表达式代替字符串索引的优点是与文件名长度无关。

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

在python中按顺序重命名文件 的相关文章

随机推荐

  • 是否可以用变量名实例化对象,或者在运行时访问变量名?

    我有很多行代码来创建对象并使用具有相似对象名称和构造函数的各种参数 唯一改变的是正在创建的对象变量的实际名称 以及传入的对象本身的名称 以下是与我当前设置相匹配的代码示例 BackyardObject backyardObject0 new
  • headerKey="-1" 有什么问题?

    出什么问题了
  • jQuery 滑块按钮通过数据选择器显示

    我在表单上有一个 jQuery 日期选择器 在其下方有一个 jQuery 滑块 当我选择日期选择器时 会弹出日历 但滑块中的按钮在日历顶部可见 有没有办法确保日历位于表单上所有其他元素之上 这是页面源代码
  • 为什么在svn中使用分支?

    我知道你可以根据 svn 中的结构来组织你的文件 树干 分支机构 标签 如果您想拥有单独的开发线 请将主干复制到分支中的文件夹中 稍后将此分支合并回主干 但我想知道为什么我和我的团队应该这样做 为什么要将主干复制到分支并使用此副本只是为了将
  • 浏览器可以处理的json对象的大小有限制吗?

    我从服务中获取一个大小约为 250 kb 的 json 对象 我想循环遍历 json 对象并将数据放入页面中的表中 我正在使用 jquery 循环 json 对象 使用 each 如果数据很小 我可以处理 json 对象 所以我想知道浏览器
  • 如何仅使用 for 循环在 C 中向后打印输入的字符串

    我想向后打印一个字符串 但我的代码似乎是从数组中的最后一个字母到数组中的第一个字母倒数字母表 而不是倒数数组本身并吐出数组中的每个字母 My code include
  • 从 ggplot 对象中提取输入数据

    我知道我可以提取我绘制的数据ggplot2绘图使用 p lt ggplot df aes x y geom point ggplot build p data But data在本例中是正在绘制的数据 有什么方法可以获取输入数据 df在这种
  • 无法在 Azure Functions 单元测试中加载文件或程序集 System.Net.Http,版本=4.1.1.0

    我有一个 Azure Function 项目 使用 VS 2017 15 3 4 创建 我在同一解决方案 4 6 1 中添加了一个单元测试项目 一旦我添加对我的 Azure 函数项目的引用 并尝试运行我的简单测试用例 当我执行 MyFunc
  • 无法加载使用 haskell 中的标准库的文件

    您好 我使用 GHCI 可以正常加载我的文件 现在我需要加载一个使用随机的文件 我收到这个错误 Chatterbot hs 3 1 error Could not find module System Random Use v to see
  • 选择 Chrome 中粗体的下拉选项[重复]

    这个问题在这里已经有答案了 有什么办法可以制作一个
  • 使用Python如何对通过音频环回发送到扬声器的所有音频进行采样

    使用 python 我希望能够在 2 秒的时间内对通过计算机上的输出音频设备播放的音频进行采样 我的目标是能够使用 Python 检测通过 PC 扬声器发出的特定噪音 这是实现这一目标的第一步 我已经看了一下声音设备文档但似乎无法确定实现此
  • git:合并文件末尾换行符的冲突

    在 git 中拉取 合并 文件末尾换行符的差异时 我经常会遇到冲突 冲突看起来像这样 diff cc httpdocs about faq php index 0ae3963 b5eb519 0000000 a httpdocs about
  • 如何确保服务不被终止

    我正在尝试在Android中编写一个音乐播放器 并尝试使用服务在后台无限循环播放音乐 我需要该服务与活动进行交互以进行音量控制等 问题是 如果我使用服务绑定器 那么当活动位于后台时 服务可能会随活动一起终止 如何确保服务在没有 Activi
  • 返回捕获引用的更高级的闭包

    我正在尝试在返回闭包的结构上编写一个方法 此关闭应该需要 u8 具有任意的生命周期 inner作为参数并返回相同的类型 inner u8 为了执行其功能 闭包还需要对结构成员的 共享 引用 self 这是我的代码 warn clippy p
  • 如何在iPhone上制作聊天系统?

    我正在研究为 iPhone 制作一个基于聊天的应用程序 这不是常规意义上的文本聊天 但原理是相同的 同一个聊天室最多可同时登录6人 最基本的问题是如何高效地查看新消息 我需要定期轮询服务器吗 或者有什么方法可以在有新内容需要关注时从服务器触
  • 加起来等于一个数字的组合 - Julia lang

    我是朱莉娅的新手 有没有一种方法可以将列表中的元素相加 使其达到特定的目标值 我已经使用 Python 的 itertools 库完成了此操作 如下例所示 但我发现对于较大的数据集来说它非常慢 import itertools number
  • PHP 5.2 相当于后期静态绑定(新静态)?

    我正在尝试制作一个为 php 5 3 构建的脚本 可以在 php 5 2 服务器上运行 该脚本使用了大量后期静态绑定 例如 return new static options php 5 2 中与此等效的是什么 它会以某种方式成为新的自己吗
  • Telerik Nativescript 移动应用程序中的基本模糊事件

    我正在使用 Telerik AppBuilder 和 NativeScript 编写一个跨平台移动应用程序 我正疯狂地试图弄清楚如何在文本字段上获得基本的 模糊 或 onTextChanged 事件 我可以弄清楚如何执行 tap 事件之类的
  • 将变量从 UIViewController 传递到 SwiftUI View

    我找不到方法或好的教程来解释如何将 UIViewController 拥有的变量 String 或 Int 的值传递给调用该视图的 SwiftUI 视图 例如 class ViewController UIViewController va
  • 在python中按顺序重命名文件

    您好 我正在尝试重命名目录中的文件 test jpeg test1 jpeg test2 jpeg 等 People 000 People 001 People 002 等 但我还没有找到在线任何地方做到这一点的好方法 我对 python