python实现将文件名批量命名为四位数or五位数
作者:sinat_21791203
这篇文章主要介绍了python实现将文件名批量命名为四位数or五位数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
将文件名批量命名为四位数or五位数
for i in range(99): change_i = str(i).zfill(4) print(change_i) """输出为: 0000 0001 0002 0003 ... 0098 """ for i in range(99): change_i = str(i).zfill(5) print(change_i) """输出为: 00000 00001 00002 00003 ... 00098 """
问题来源
本来想使用sorted(os.listdir(parh))按文件名顺序读取文件的,但是由于命名不没有统一,所以读出来没有按照预期来
接下来将文件名的数字部分统一命名为四位数的
import os path = "/data/cta/deal-with-dataset-b-v1/dicom_hessian" for file in os.listdir(path): num = file.split(".")[0].split("_")[-1] filename_change = "dicom_hessian_" + num.zfill(4) + ".jpg" os.rename(os.path.join(path, file), os.path.join(path, filename_change))
至此问题解决~
python文件批量重命名为数字
代码:
#效果:把旧的名字清理掉,统一换成000000,递增加1 import os path=r'C:\Nora\04_files\code' filename_list=os.listdir(path) a=1 for filename in filename_list: used_name=filename print(used_name) new_name=str(a).zfill(6)+'.txt'#文件名长度对齐为6位,通过在前面补0 os.rename(os.path.join(path,used_name),os.path.join(path,new_name)) a+=1 print("新文件名:") print(new_name) #是一个字符串集合 print("\n") ''' zfill函数功能: 为字符串定义长度,如不满足,缺少的部分y右侧会用0填补 zfill函数用法: newstr = string.zfill(width) 参数: width新字符串希望的宽度 zfill函数注意事项: 与字符串的字符无关 如果定义长度小于当前字符串长度,则不发生变化 ''' #后面可以调用 script_for_file_rename_prefix.py脚本,加英文前缀,比如:chapter1
效果:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。