python按顺序批量修改文件名 | 您所在的位置:网站首页 › py修改文件名 › 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]表示以 .进行分隔取.前面的内容。 运行结果: |
CopyRight 2018-2019 实验室设备网 版权所有 |