Python批量修改文件名的方式详解
作者:今天多喝热水 发布时间:2023-05-15 20:56:08
标签:python,批量,文件名
目录
批量修改文件名(保留后缀)
批量修改文件名(全改)
读取文件下的所有文件名
总结
批量修改文件名(保留后缀)
这种方法,保留了文件原本的后缀。这里主要演示的是对图片名的修改。
# 批量修改文件名
# 批量修改图片文件名
import os
import re
import sys
path = 'F:\Temp\ZZ'
fileList = os.listdir(path) # 待修改文件夹
print("修改前:"+str(fileList)) # 输出文件夹中包含的文件
currentpath = os.getcwd() # 得到进程当前工作目录
os.chdir(path) # 将当前工作目录修改为待修改文件夹的位置
n = 1 # 名称变量
for fileName in fileList: # 遍历文件夹中所有文件
pat=".+\.(jpg|png|jpeg)" # 匹配文件名正则表达式
pattern = re.findall(pat,fileName)# 进行匹配
os.rename(fileName,(str(n)+'.'+pattern[0]))#文件重新命名
n += 1 # 改变编号,继续下一项
os.chdir(currentpath) # 改回程序运行前的工作目录
sys.stdin.flush() # 刷新
print("修改后:"+str(os.listdir(path)))#输出修改后文件夹中包含的文件
批量修改文件名(全改)
这种方法,修改了文件原本的后缀。这里主要演示的是对图片的修改。
import os
path = 'F:\Temp\ZZ'
# 获取该目录下所有文件,存入列表中
fileList = os.listdir(path)
n = 0
for i in fileList:
# 设置旧文件名(就是路径+文件名)
oldname = path + os.sep + fileList[n] # os.sep添加系统分隔符
# 设置新文件名
newname = path + os.sep + 'a' + str(n+1) + '.jpg'
os.rename(oldname, newname) # 用os模块中的rename方法对文件改名
print(oldname, '======>', newname)
n += 1
代码有个小的注意事项。比如文件名字原本就是a1.jpg, a3.jpg, a6.jpg这样时,运行上述代码会报错。把上面的字母a改成其他的就行了。因为文件夹下原本就有该名称的文件,而程序在修改名字的时候,运行过程中就会出现两个同名文件共存的情况。
读取文件下的所有文件名
import os
# 输出所有的文件夹名和文件名
path = 'F:\Temp\ZZ'
dataFileList = os.listdir(path)
for i in dataFileList:
print(i)
# 读取特定的文件名
txtFile = []
for filename in dataFileList:
j = filename.split('.')
if len(j)==2:
if j[1]=='txt':
txtFile.append(filename)
来源:https://blog.csdn.net/qq_55342245/article/details/121128784


猜你喜欢
- 大家好,今天我们要看看如何用 Python制作音乐播放器。此音乐播放器播放您的歌曲,您可以在播放歌曲时暂停、恢复、设置音量,然后您可以停止音
- Python的matplotlib模块绘制图形功能很强大,今天就用pyplot绘制一个简单的图形,图形中包括曲线、曲线上的点、注释和指向点的
- 学生管理系统相信大家学各种语言的时候,练习总是会写各种管理系统吧,管理系统主要有对数据的增删查改操作,原理不难,适合作为练手的小程序数据的结
- 本文实例讲述了PHP自定义函数用法。分享给大家供大家参考,具体如下:Demo1.php<?php //标准函数,内置函数
- 这篇文章主要介绍了PyQt5 closeEvent关闭事件退出提示框原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- python中的turtle库是3.6版本中新推出的绘图工具库,那么如何使用呢?下面小编给大家分享一下。首先打开pycharm软件,右键单击
- 1. 背景在网页爬取的时候,有时候会使用scrapy.FormRequest向目标网站提交数据(表单提交)。参照scrapy官方文档的标准写
- 使用ASP实现网站的目录树数据库结构(共使用了两个表)1。tblCategory字段名 类型 Root&
- 一个简单的车牌输入组件(vue),供大家参考,具体内容如下代码:vue代码:<template> &l
- 昨天在网上找资料的时间无意进了一个站,糊里糊涂就进去了,想提权提不起来,后来加上服务商的Q号想社工一下,射了半天得知服务器的安全是绿盟的人给
- 本文实例讲述了Python反转序列的方法。分享给大家供大家参考,具体如下:序列是python中最基本的数据结构,序列中每个元素都有一个跟位置
- 一、程序实现分析问题:骰子比大小是我们经常玩的一个小游戏也十分的简单,就是不同玩家骰子点数比较大小。编写程序:#骰子比大小import ra
- 代码如下import wordcloudimport jiebafont = r'C:\Windows\Fonts\simfang.
- 本文实例为大家分享了用matplotlib中scatter方法画散点图的具体代码,供大家参考,具体内容如下1、最简单的绘制方式绘制散点图是数
- 如图,以该猫咪图片为例(忽略水印)。将该文件命名为cat.jpg,并对其展开以下操作。使用PIL库进行灰度处理PIL库适合图像归档和图像批量
- 内容介绍将日常工作中遇到的数数据冲突和样本源的方法进行总结,其中主要包括实际业务数据冲突、样本选取问题、数据共线性 等思路,并且长期更新。实
- 本文实例讲述了PHP实现网页内容html标签补全和过滤的方法。分享给大家供大家参考,具体如下:如果你的网页内容的html标签显示不全,有些表
- 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过
- 我们使用编辑器的时候,想要在其中添加一个Django项目,这样就能在里面做一些想要的操作。有些人还没有对Django进行安装,这里直接用命令
- 如下所示:def list_dict_duplicate_removal(): data_list = [{"a&qu