热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

批量重命名文件夹中的文件(python)

做实验需要重命名数据集的名字,有几个容易踩坑的地方和小技巧,总结一下importospathfilelistos.listdir(path)#文件夹路

做实验需要重命名数据集的名字,有几个容易踩坑的地方和小技巧,总结一下

import ospath = ''filelist = os.listdir(path) # 文件夹路径
filetype = '.txt' # 文件类型for file in filelist:Olddir = os.path.join(path, file)if os.path.isdir(Olddir):cOntinuefilename= os.path.splitext(file)[0]filename = int(float(filename))+1233 # 重命名的规则filetype = os.path.splitext(file)[1]filename = str(filename)Newdir = os.path.join(path, filename.zfill(6) + filetype) # zfill(6) # 填充到6位字符串os.rename(Olddir, Newdir)

这种方法存在一个问题, os.listdir读取文件时,并不是按照文件原名中的数字顺序排序的,而是按计算机编码顺序读入,即0,1,10,11,2等类似,为了能正常按数字顺序读入,可在最前面加上一句:

filelist.sort(key=lambda x: int(x[-9: -4]))

其中,[-9, -4]表示对倒数第4位-倒数第9位按照数字大小排序


推荐阅读
author-avatar
mobiledu2502927147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有