python按顺序批量修改文件名 您所在的位置:网站首页 py修改文件名 python按顺序批量修改文件名

python按顺序批量修改文件名

2023-11-22 17:47| 来源: 网络整理| 查看: 265

在之前批量修改文件名的时候出现的问题是使用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 = 0 for 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]表示以 .进行分隔取.前面的内容。

运行结果: 在这里插入图片描述 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有