使用RE和OS重命名多个视频文件

时间:2014-12-22 01:40:15

标签: python regex operating-system mkv

我最近下载了大量mkv个文件,其名称格式为" South Park S01E01 Cartman获取肛门探针(640x480)[Phr0stY] .mkv"。我想删除除实际剧集名称之外的所有文本。这是我到目前为止的代码。

rootdir = '/Users/me/Documents/Test/'
for ii in os.listdir(rootdir):
    try:
        for kk in os.listdir(rootdir + ii):
            try:
                    new = re.sub('South\sPark\sS[0-9][0-9]E[0-9][0-9]\s', '', kk)
                    new1 = re.sub('\s\([0-9]+x[0-9]+\)\s\[Phr0stY\]', '', new)
                    os.rename(rootdir + ii + kk, rootdir + ii + new1)
            except:
                    pass
    except:
        pass

一切正常,直到它停止的os.rename行并导致except子句执行。当我打印new1时,返回正确的字符串。任何人都可以看到为什么重命名不起作用?

1 个答案:

答案 0 :(得分:1)

您应该使用os.path.join来组合文件路径的组件,而不是+