开发者

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

开发者 https://www.devze.com 2023-11-19 10:03 出处:网络 作者: Louise喵
目录python按顺序批量修改文件名解决代码python批量按顺序递增修改文件名代码(可指定文件名)总结python按顺序批量修改文件名
目录
  • python按顺序批量修改文件名
    • 解决代码
  • python批量按顺序递增修改文件名代码(可指定文件名)
    • 总结

      python按顺序批量修改文件名

      在之前批量修改文件名的时候出现的问题是使用os.listdir出现乱序,即修改文件名的时候不按照文件排XtGruWAnV列的顺序,导致了不必要的麻烦。

      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:
          # 设php置旧文件名(就是路径+文件名)
          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批量按顺序递增修改文件名代码(可指定文件名)

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

      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) + f编程客栈ile_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}php')
          # 递增编号
          start_num += 1

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号