在处理数据集中,我们经常需要对文件进行重命名操作,Franpper总结了几种文件重命名的方法,帮大家一键重命名。

目录

1. 随机命名

2. 基础名+数字序号

3. 特定字符替换

4. 完整代码


1. 随机命名

这个方法是将文件夹中特定类型文件随机命名,下图是文件原始名称

随机重命名代码如下:

def fun1(filePath):"""重命名函数fun1输入:文件夹路径功能:对文件夹中的全部文件进行随机命名"""suffix = '.txt'  # 设置后缀,筛选特定文件以更改名称for file in os.listdir(filePath):if file.endswith(suffix):name = file.split('.')[0]suffix = file.split('.')[1]salt = ''.join(random.sample(string.ascii_letters + string.digits, 8))  # 随机输出8位由英文字符和数字组成的字符串newname = name.replace(name, salt)os.rename(os.path.join(path, file), os.path.join(path, newname + '.' + suffix))print("End")

重命名效果如下:

2. 基础名+数字序号

但是我想将其改成统一的命名,那么就用这种重命名方法

代码如下:

def fun2(path):"""重命名函数fun2输入:文件夹路径功能:对某一个文件夹中的某一类文件进行统一命名,命名格式为:基础名+数字序号"""i = 1suffix = '.txt'  # 设置后缀,筛选特定文件以更改名称for file in os.listdir(path):if file.endswith(suffix):if os.path.isfile(os.path.join(path, file)):new_name = file.replace(file, "name_%d" % i + suffix)  # 根据需要设置基本文件名os.rename(os.path.join(path, file), os.path.join(path, new_name))i += 1print("End")

效果如下,可以看到文件被改成了统一名称 + 数字序号的格式,当然如果你想修改成别的名称,只需将"name_%d"这一句中红字替换为自己的名称即可。

3. 特定字符替换

假如我的文件中都包含相同的字符(如示例中都包含name),但是我想将其更换为别的字符,那么就用这个方法。

代码如下:

def fun3(filePath, old_text, new_text):"""重命名函数fun3输入:文件夹路径、需替换的字符、替换后字符功能:对文件名中的特定字符进行替换"""for i, j, k in os.walk(filePath):for name in k:newName = name.replace(old_text, new_text)name = i + "\\" + namenewName = i + "\\" + newNameos.rename(name, newName)print("End")

效果如下,通过方法3将文件中所有“name”替换为了“名字”

4. 完整代码

import os
import random
import stringdef fun1(filePath):"""重命名函数fun1输入:文件夹路径功能:对文件夹中的全部文件进行随机命名"""suffix = '.txt'  # 设置后缀,筛选特定文件以更改名称for file in os.listdir(filePath):if file.endswith(suffix):name = file.split('.')[0]suffix = file.split('.')[1]salt = ''.join(random.sample(string.ascii_letters + string.digits, 8))  # 随机输出8位由英文字符和数字组成的字符串newname = name.replace(name, salt)os.rename(os.path.join(path, file), os.path.join(path, newname + '.' + suffix))print("End")def fun2(path):"""重命名函数fun2输入:文件夹路径功能:对某一个文件夹中的某一类文件进行统一命名,命名格式为:基础名+数字序号"""i = 1suffix = '.txt'  # 设置后缀,筛选特定文件以更改名称for file in os.listdir(path):if file.endswith(suffix):if os.path.isfile(os.path.join(path, file)):new_name = file.replace(file, "name_%d" % i + suffix)  # 根据需要设置基本文件名os.rename(os.path.join(path, file), os.path.join(path, new_name))i += 1print("End")def fun3(filePath, old_text, new_text):"""重命名函数fun3输入:文件夹路径、需替换的字符、替换字符功能:对文件名中的特定字符进行替换"""for i, j, k in os.walk(filePath):for name in k:newName = name.replace(old_text, new_text)name = i + "\\" + namenewName = i + "\\" + newNameos.rename(name, newName)print("End")if __name__ == '__main__':path = r'E:\pythonProject\utiltools/'# fun1(path)# fun2(path)fun3(path,  'name', '名字')

文件重命名(python)——有这一个就够了!相关推荐

  1. workbook加载文件路径_【Python】文件重命名(按照Excel清单)

    问题: 1.扫描了很多文件,想批量加上文件编号 2.网页下载了一堆图片,批量加上图片分类 3.文件命名不规范,想批量调整 效果图: 需求解析: 1.想重命名,就要有原名字和修改后的名字,清单准备好: ...

  2. Python 实现读取文本内容、文件重命名、替换文本内容

    代码整体结构: 一.Python实现读取文本内容 # -*- coding: utf-8 -*- """ @date: 2022/01/11 18:40 @author: ...

  3. python工具 - 批量文件重命名

    日常工作中经常会遇到这样的情况,需要将某个文件夹下的文件按着一定的规则进行重命名,当文件数量及其庞大的时候手工一个一个的去修需要耗费大量的时间,以下python工具可以协助批量修改文件名. 场景:某文 ...

  4. python实现批量图片/文件重命名

    python实现批量图片/文件重命名 import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(self):self.path = ' ...

  5. 计算机给文件重命名快捷键,批量重命名文件 一个F2快捷键即可全部搞定

    平时我们在使用电脑的过程中,经常会用到很多的快捷键,因为快捷键能让我们的操作更方便,今天小编就为大家介绍一个快捷键操作,一起来了解一下吧! F2重命名 F2键位于键盘上的数字功能键区,它可以对选定的文 ...

  6. Python文件重命名,中文名转英文名(含标点符号),改进版

    项目需要,很多中文文件名需要重命名,不然cv2会读不出来,如果全部改为数字,可能会丢失一些信息,所以需要中文转英文,网上有大神已经写好的脚本,根据工程实际进行了修改: 1.增加了去除标点符号的功能,例 ...

  7. python文件处理:每隔一定数目删除;文件重命名;删除多余xml文件;将文件夹线所有文件平均分配到其他文件夹

    # -*- coding:utf-8 -*-''' fileName: createTime: modifyTime: description:written by donghao '''import ...

  8. python 实现删除文件及文件重命名

    一.需求 在一个文件夹中,里面有一些不想要的文件,我想删除这些文件 比如:我想删除用户必读这个文件,同时把sql文件的前缀网站删除掉 二.实现 from json.tool import main i ...

  9. adb 重命名_Linux操作系统:三种最基本的文件重命名方法

    在我们的工作生活中,不管是程序员还是非程序员,我们都会遇到过一个需求,那就是对一堆的文件进行重命名.在Windows下有很多优秀的软件可以帮助我们完成这个需求,而在Linux环境下,我们可以简单敲一些 ...

最新文章

  1. jQuery 取选中的radio的值方法
  2. SQLSever触发器建立
  3. scp错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  4. spoj 375 Query on a tree (树链剖分)
  5. 获取控制器 nextResponder的简单应用
  6. 13 python初学(函数)
  7. LeetCode 718. 最长重复子数组(DP)
  8. stable_partition http://www.cplusplus.com/reference/algorithm/stable_partition/
  9. 【论文解读】Cross-dataset Training for Class Increasing Object Detection
  10. linux执行hadoop程序,gcc编译和运行hadoop c api程序
  11. 关于IOC反射错误(无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性...)的诊断办法...
  12. 《促进大数据发展行动纲要》发布 部署三大任务助力经济转型
  13. 英国交通分析指南(Transport analysis guidance)解读及启示
  14. IAST 实践利用洞态做开源组件的安全治理
  15. java 取系统当前时间_java获取当前系统时间方法
  16. 计算机导论(1—6章)笔记
  17. java基础jdk,jre,jvm作业-答案
  18. php微信小程序毕业设计 php化妆品商城小程序毕业设计毕设作品参考
  19. AQS抽象队列同步器原理详解
  20. 模拟线上应用cpu100%解决方法

热门文章

  1. 第17章 程序管理与SELinux初探
  2. 用黄金比例评价“完美脸型”是否靠谱?
  3. java 自定义标签继承_JSP继承TagSupport如何开发带属性的自定义标签
  4. 利用 Ophis 编写 Commodore 64 programs PRG 程序(四)
  5. 私、仆、俺 あなた、お前、君 的区别
  6. 可以在网上接单以及把自己作品上传到一些设计平台
  7. 【调剂】2023中科院调剂信息:中科院深圳先进院方鹏课题组招生(请不要给老师发邮件)...
  8. 华为中级——字符串分割
  9. 微信之父张小龙:怎样做简单的产品经理?二
  10. 2020级C语言大作业 - 以撒的结合