首页 > 解决方案 > 使用 os.rename() 重命名火影忍者视频文件时出错 (WinError 123 )

问题描述

我正在编写一个 python 脚本来重命名带有凌乱标题的火影忍者视频。这是代码:

import os
import re


def rename_files():
    os.chdir(r"C:\Users\Caleb\Videos\Anime\Naruto Shippuden")
    files = os.listdir('.')
    for file in files:
        nameRegex = re.compile(r'.?(Naruto(-?)).'
                               r'(Shi(p)+(u)+den)'
                               r'(_-_|\s-\s|\sEpisode\s|-_Season_17_Episode_| Episode |_)'
                               r'((\d\d\d)(-\d\d\d)?)', re.I)

        mo = nameRegex.search(file)
        if mo is None:
            print(f'({file} Not found)')
            continue
        ext = os.path.splitext(file)
        old_name = ext[0] + ext[1]
        new_name = f"{mo.group(1).title()} {mo.group(3).title()}, Episode: {mo.group(7)}{ext[1]}"
        os.rename(old_name, new_name)


rename_files()

我使用了 os.rename() 但它一直抛出以下错误:

Traceback (most recent call last):
  File "C:\Users\Caleb\Desktop\Python\rename_files.py", line 28, in <module>
    rename_files()
  File "C:\Users\Caleb\Desktop\Python\rename_files.py", line 25, in rename_files
    os.rename(old_name, new_name)
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '(Hi10)_Naruto_Shippuuden_-_003_(480p)_(SD).mkv' -> 'Naruto Shippuuden, Episode: 003.mkv'

我能做些什么来解决这个错误?我被困了好几天

标签: pythonprojectfile-rename

解决方案


推荐阅读