python如何按顺序批量修改文件名

 更新时间:2023年08月17日 08:26:05   作者:Louise喵  
这篇文章主要介绍了python如何按顺序批量修改文件名问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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 = 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]表示以 .进行分隔取.前面的内容。

运行结果:

python批量按顺序递增修改文件名代码(可指定文件名)

如需在文件名添加其它相应字符,修改代码相应字符部分即可,此方法比较简单,容易理解。

import os
# 设置要重命名的文件夹路径
folder_path = 'C:/Users/Administrator/Desktop/CR/RGB三通道'
# 获取文件夹中所有文件名
file_names = os.listdir(folder_path)
# 设置起始编号
start_num = 1
# 遍历文件名列表并修改文件名
for file_name in file_names:
    # 获取文件名的后缀
    file_extension = os.path.splitext(file_name)[1]
    # 构造新的文件名
    new_file_name = str(start_num) + file_extension
    #也可在此处添加相应的字符,有区别重命名文件
    #new_file_name = "相应字符"+str(start_num) + file_extension
    # 构造旧文件的路径和新文件的路径
    old_file_path = os.path.join(folder_path, file_name)
    new_file_path = os.path.join(folder_path, new_file_name)
    # 重命名文件
    os.rename(old_file_path, new_file_path)
    print(f'{file_name}已重命名为{new_file_name}')
    # 递增编号
    start_num += 1

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 提升python处理速度原理及方法实例

    提升python处理速度原理及方法实例

    这篇文章主要介绍了提升python处理速度原理及方法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python读取mat(matlab数据文件)并实现画图

    Python读取mat(matlab数据文件)并实现画图

    这篇文章主要介绍了Python读取mat(matlab数据文件)并实现画图问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • opencv3/C++ 平面对象识别&透视变换方式

    opencv3/C++ 平面对象识别&透视变换方式

    今天小编就为大家分享一篇opencv3/C++ 平面对象识别&透视变换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 对pandas进行数据预处理的实例讲解

    对pandas进行数据预处理的实例讲解

    下面小编就为大家分享一篇对pandas进行数据预处理的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python对口红进行数据分析来选定情人节礼物

    Python对口红进行数据分析来选定情人节礼物

    情人节送小仙女什么礼物?让我们来用Python对口红进行数据分析,那个女孩子会拒绝这样精心挑选的礼物,感兴趣的小伙伴快来看看吧
    2022-02-02
  • python3安装speech语音模块的方法

    python3安装speech语音模块的方法

    今天小编就为大家分享一篇python3安装speech语音模块的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 深入理解python对json的操作总结

    深入理解python对json的操作总结

    Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式,本篇文章主要介绍了python对json的操作总结,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Python queue队列原理与应用案例分析

    Python queue队列原理与应用案例分析

    这篇文章主要介绍了Python queue队列原理与应用,结合具体案例形式分析了Python queue队列的原理、功能、实现方法与使用技巧,需要的朋友可以参考下
    2019-09-09
  • PyQt5每天必学之进度条效果

    PyQt5每天必学之进度条效果

    这篇文章主要为大家详细介绍了PyQt5实现进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Django中对通过测试的用户进行限制访问的方法

    Django中对通过测试的用户进行限制访问的方法

    这篇文章主要介绍了Django中对通过测试的用户进行限制访问的方法,Django是众多Python高人气web框架中最为著名的一个,需要的朋友可以参考下
    2015-07-07

最新评论