利用Python批量重命名一系列文件名杂乱的文件

假设目录下面有这样一系列命令杂乱的文件:

OPENFOAM -TRAINING- PART- #1.pdf
OPENFOAM - TRAINING- PART- #2.pdf
OPENFOAM- TRAINING- PART-#3 .pdf

不仅序号被放在最后,而且还有许多多余的空格。现在批量将这些文件重命名,去掉#,并把序号挪到最前面。

import os

os.chdir('/Users/<>/python_learn/openfoam') # 把当前工作目录切换到需要进行操作的目录

for f in os.listdir():
    f_name, f_ext = os.path.splitext(f) # 把文件名和扩展名分开

    f_title, f_training, f_part, f_num = (f_name.split('-')) # 以`-`为分隔把文件名分解

    f_title = f_title.strip() # 去掉多余的空格
    f_training = f_training.strip() # 去掉多余的空格
    f_part = f_part.strip() # 去掉多余的空格
    f_num = f_num.strip()[1:].zfill(2) # 去掉多余的空格、去掉`#`号、非两位数自动补0(1变01)

    new_name = '{}-{}-{}-{}{}'.format(f_num, f_title, f_training, f_part, f_ext) # 新文件名的格式

    os.rename(f, new_name) # 按新文件名重命名这些文件

转载于:https://www.cnblogs.com/yaos/p/7017443.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以帮您写一段Python代码来实现批量重命名图像,并包含文件编号和类别的要求。以下是一个示例代码: ```python import os def batch_rename_images(directory): # 获取目录下所有文件 files = os.listdir(directory) # 遍历所有文件 for i, file in enumerate(files): # 检查文件是否为图像文件 if file.endswith(".jpg") or file.endswith(".png"): # 构建文件编号,左侧补零至四位数 file_number = str(i + 1).zfill(4) # 构建类别后缀 if i % 3 == 0: category = "_1" elif i % 3 == 1: category = "_2" else: category = "_normal" # 构建新文件名 new_name = f"{file_number}{category}.jpg" # 构建旧文件路径和新文件路径 old_path = os.path.join(directory, file) new_path = os.path.join(directory, new_name) # 重命名文件 os.rename(old_path, new_path) print(f"将 {file} 重命名为 {new_name}") # 调用函数进行批量重命名 batch_rename_images("/path/to/images/directory") ``` 您需要将代码中的`/path/to/images/directory`替换为您实际的图像文件所在的目录路径。 此代码会遍历指定目录下的所有图像文件,并根据文件在列表中的顺序添加编号和类别后缀。编号将使用四位数,并且会根据每个文件的索引自动补零。类别后缀将根据文件在列表中的位置进行分类,每三个文件循环一次添加不同的类别后缀。 请注意,在运行代码之,请确保您备份了图像文件,以免意外删除或修改原始文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值