0

我最近下载了大量mkv文件,其名称格式类似于“South Park S01E01 Cartman Gets an Anal Probe (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返回正确的字符串。谁能看到为什么重命名不起作用?

4

1 回答 1

1

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

于 2014-12-22T01:42:24.690 回答