Python 脚本优化:修改输出文件名,截取特定前缀后的字符串

该脚本用于修改输出文件命名,主要针对以 'h_' 或 'h_00' 开头的文件名进行截取,并截取到最后一个英文字母之前。

import os
import glob
from natsort import natsorted

# ... (省略之前的代码)

# 修改后的输出文件命名代码
for mp4_file in glob.glob(os.path.join(output_dir, '*.mp4')):
    file_name = os.path.splitext(os.path.basename(mp4_file))[0][1:]
    if file_name.startswith('h_'):
        file_name = file_name[2:].replace('00', '-', 1)
        if file_name.startswith('0'):
            file_name = file_name[1:]
    else:
        file_name = file_name.replace('00', '-', 1)
    file_name = file_name.strip('0123456789.-_')
    # 截取到最后一个英文字母之前
    new_file_name = ''
    for i in range(len(file_name)-1, -1, -1):
        if file_name[i].isalpha():
            new_file_name = file_name[:i]
            break
    new_file_name += '.mp4'
    os.rename(mp4_file, os.path.join(output_dir, new_file_name))

代码解释:

  1. 循环遍历输出目录下的所有 .mp4 文件:

    for mp4_file in glob.glob(os.path.join(output_dir, '*.mp4')):
    
  2. 获取文件名并去除第一个字符:

    file_name = os.path.splitext(os.path.basename(mp4_file))[0][1:]
    
  3. 处理 'h_' 或 'h_00' 开头的文件名:

    if file_name.startswith('h_'):
        file_name = file_name[2:].replace('00', '-', 1)
        if file_name.startswith('0'):
            file_name = file_name[1:]
    else:
        file_name = file_name.replace('00', '-', 1)
    
    • 如果文件名以 'h_' 开头,则从第三个字符开始截取,并将 '00' 替换为 '-',如果截取后第一个字符为 '0' 则再将其移除。
    • 如果文件名不以 'h_' 开头,则直接将 '00' 替换为 '-'。
  4. 去除文件名中的数字、点、减号、下划线:

    file_name = file_name.strip('0123456789.-_')
    
  5. 截取到最后一个英文字母之前:

    new_file_name = ''
    for i in range(len(file_name)-1, -1, -1):
        if file_name[i].isalpha():
            new_file_name = file_name[:i]
            break
    
    • 从文件名末尾开始遍历,找到第一个字母,并将该字母之前的部分作为新的文件名。
  6. 添加文件扩展名并重命名文件:

    new_file_name += '.mp4'
    os.rename(mp4_file, os.path.join(output_dir, new_file_name))
    

使用方法:

  1. 将代码中的 dir_pathoutput_dir 变量替换为实际的目录路径。
  2. 将脚本保存在需要执行的目录下,并运行该脚本。

注意事项:

  • 此脚本仅针对特定格式的文件名进行处理,对于其他格式的文件名可能需要修改代码。
  • 确保脚本运行目录中存在要修改的文件。
  • 脚本执行完毕后,会将原文件重命名为新的文件名。
  • 使用前请备份重要数据,以防意外数据丢失。
Python 脚本优化:修改输出文件名,截取特定前缀后的字符串

原文地址: https://www.cveoy.top/t/topic/nC8e 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录