python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python将文件名批量命名为四位数or五位数

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

效果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文