侧边栏壁纸
博主头像
YOUZI

我依旧在追寻自由的路上

  • 累计撰写 85 篇文章
  • 累计创建 10 个分类
  • 累计创建 27 个标签

目 录CONTENT

文章目录

批量命名

柚子
原创 / 2024-05-17 / 0 评论 / 1 点赞 / 78 阅读 / 0 字
温馨提示:
本文最后更新于80天前,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响您的利益,请联系 站长 删除。

一、背景

下载的图片太多了,命名都很乱,但windows批量重命名很不友好,于是在网上查找了相关方法,这里可以去看这篇文章【两种方法实现Windows系统下批量重命名文件】,但个人觉得有点麻烦,这时我想到了Python。

Python 可以用来编写脚本自动化重复性任务,如文件处理、数据抓取、系统管理等。其易读的语法使其特别适合快速开发脚本

二、准备

  1. 环境:python

  2. 工具:pycharm

温馨提示:使用自带的IDE也可以,非必须使用pycharm。

三、代码

  • 加前缀

import os


def rename_file(target_directory, file_prefix):
    # 遍历文件夹中的文件
    files = os.listdir(target_directory)
    files.sort()  # 按字母顺序排序文件

    # 重命名文件
    for i, file in enumerate(files, start=1):
        if file.endswith('.jpg') or file.endswith('.png'):
            old_path = os.path.join(target_directory, file)
            new_filename = f'{file_prefix}{str(i).zfill(3)}{os.path.splitext(file)[1]}'
            new_path = os.path.join(target_directory, new_filename)
            os.rename(old_path, new_path)
            print(f'已重命名: {file} -> {new_filename}')
        else:
            print(f'跳过非图片文件: {file}')


directory_path = (r'D:\Downloads\picture')

prefix = '测试'

rename_file(directory_path, prefix)
  • 不加前缀

import os


def rename_file(target_directory):
    # 获取目录下所有文件
    files = os.listdir(target_directory)

    # 过滤出所有图片文件
    image_files = [file for file in files if file.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp'))]

    # 按照数字升序重命名图片文件
    for i, file in enumerate(sorted(image_files), 1):
        # 构造新文件名
        _, ext = os.path.splitext(file)
        new_name = f"{i:03d}{ext}"

        # 重命名文件
        os.rename(os.path.join(target_directory, file), os.path.join(target_directory, new_name))

    print("图片文件已按照数字升序重命名。")


# 指定要重命名的目录
directory_path = (r'D:\Downloads\picture')

# 调用函数进行重命名
rename_file(directory_path)

1

评论区