python按顺序批量修改文件名
在之前批量修改文件名的时候出现的问题是使用os.listdir出现乱序,即修改文件名的时候不按照文件排列的顺序,导致了不必要的麻烦。
os.listdir排列的顺序是按照例如:1,10,11,2,20,21…的顺序
想达到的正常顺序:1,2,3,4,5…
解决代码如下:
import os#设定文件路径
path='C:/Users/Louise喵/Desktop/FOV60/'
#获取该目录下所有文件,存入列表中
fileList=os.listdir(path)
#get_key是sorted函数用来比较的元素,该处用lambda表达式替代函数。
get_key = lambda i : int(i.split('.')[0])
new_sort = sorted(fileList, key=get_key)
#print(fileList, '\n', new_sort)
n = 0for i in fileList:# 设置旧文件名(就是路径+文件名)oldname = path + os.sep + new_sort[n] # os.sep添加系统分隔符# 设置新文件名newname = path + os.sep + 'p' + str(n + 1)+'.csv'os.rename(oldname, newname) # 用os模块中的rename方法对文件改名print(oldname, ' ======> ', newname)n += 1
其中排序的关键语句为:
get_key = lambda i : int(i.split('.')[0])
new_sort = sorted(fileList, key=get_key)
split()是一个常用的分隔字符的方法,split(‘.’)[0]表示以 .进行分隔取.前面的内容。
运行结果:
python按顺序批量修改文件名相关推荐
- 用python写名字代码_用python编写一个批量修改文件名的小程序
1.问题描述: 原有的视频文件按序排列,但是文件名没有对内容的说明,如下图所示: 原视频文件列表.jpg 想将其批量修改成如下文件名: 图2:要改成的文件名.jpg 最终想要的效果: ok.jpg 不 ...
- 【Python 实战】---- 批量修改文件名和将txt转excel
1. 需求 需求:现在有n个不重名子文件夹在同一个文件夹内,且每个子文件夹内有一个txt文件,所有txt文件名相同. 将每个txt文件名修改为对应所在文件夹名: txt文件改为表格文件. 将表格内的长 ...
- c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
- python批量修改文件名
python之批量修改文件名 文章目录 python之批量修改文件名 前言 一.python批量修改文件名 1.源码 二.python批量修改文件名(按顺序) 1.源码 三.python批量修改文件名 ...
- 利用python对批量修改文件名
利用python对批量修改文件名 当你得到一些同类型的文件时,文件名是混乱的.为了方便观看,需要进行修改文件名.就例如:收作业,收取文件. 下面讲讲我对修改文件名的方法. 思路: 获取文件名 ===& ...
- python批量读取dat文件_python编写Windows环境下批量修改文件名
在日常编程工作中我们经常需要对文件进行操作,而文件一般都是由文件名和扩展名组成的.比如我们经常需要把.dat 格式 转化成 .txt格式,把png改成jgp格式等等.这里我们就教大家如何利用PYTHO ...
- python 修改文件名_【学习分享】利用python批量修改文件名
1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...
- python 修改文件名_Python 批量修改文件名
本篇梳理了批量修改文件名的Python代码. import os import numpy as nppath = 'C:/Users/Owen/PycharmProjects/Create_File ...
- python改文件名_python批量修改文件名、批量修改xml文件的path和filename
1. python批量修改文件名(控制文件名的起始编号) import os path = "E:/Project/label/fire/" # 目标路径 filename_lis ...
最新文章
- 计算机艺术未来发展趋势,计算机技术对现代艺术设计的影响
- SpringMVC常用Maven POM.xml依赖包片段
- MonoRail学习笔记五:定制服务实现自定义功能
- 计算机存储器与寄存器的区别,存储器和寄存器区别
- Ubuntu 16.04设置IP、网关、DNS
- LeetCode Decode Ways
- sessionStorage细节
- 勤哲cad服务器支持ug,勤哲CAD服务器
- python向CSV文件写内容
- C++字符串转化为数字的库函数
- [转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
- 远程查看室内亮暗情况
- 桌面环境选择_Fedora 30 正式版发布:引入 Deepin 桌面环境(DDE)
- python3.7输出语句_python3.4用循环往mysql5.7中写数据并输出的实现方法
- 局域网中用centos6架设ftp服务器-配置文件说明
- 《勒索软件经济分析》:“理想赎金”950英镑
- 做博客推广的SEO外链计划
- 网页图片透明html代码,HTML_让css使网页图片半透明,你用过css么?当然,我是指你 - phpStudy...
- python 代码库之遍历ttf字库编码和字符(含demo)
- “插座”,“充电宝”,“数据线”用英语怎么说?