以指定字符串长度的数字批量修改文件夹中的名称

# coding: utf-8
"""
以指定字符串长度的数字批量修改文件夹中的名称
"""
import os
import shutil

def rename(images_path, new_dir):
    # 读取文件夹中的文件
    file_list = os.listdir(images_path)
    count = 0
    # for file_name in file_list:
    #     print(file_name)

    for file_name in file_list:  # 遍历所有文件
        count += 1
        # 原来文件路径
        old_dir = os.path.join(images_path, file_name)
        # 如果是文件夹则跳过
        if os.path.isdir(old_dir):
            continue
        # 文件名 os.path.splitext作用是分离文件名和扩展名
        filename = os.path.splitext(file_name)[0]
        # 文件扩展名
        file_type = os.path.splitext(file_name)[1]
        # 将源文件中图片修改,并用字符串函数zfill 以0补全所需位数
        new_dir1 = os.path.join(new_dir, filename.zfill(6) + file_type)
        # 启用这一行的时候运行两次之后图片会减少,不知道为什么
        # new_dir = os.path.join(images_path, str(count).zfill(6) + file_type)
        # os.rename(old_dir, new_dir1)

        shutil.copy(old_dir, new_dir1)
        print(new_dir1)

    print("完成文件名转换")


if __name__ == '__main__':
    new_dir = '/home/alex/Desktop/deeplearning/python_exercise/pics1'
    if not os.path.exists(new_dir):
        os.mkdir(new_dir)
    images_path = '/home/alex/Desktop/deeplearning/python_exercise/pics'
    rename(images_path, new_dir)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值