作者:mobiledu2502927147 | 来源:互联网 | 2023-10-17 08:42
做实验需要重命名数据集的名字,有几个容易踩坑的地方和小技巧,总结一下
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位按照数字大小排序