Skip to main content
 首页 » 编程设计

python之如何将文件重命名为文件名中的子字符串

2025年05月04日15freeliver54

我正在尝试通过截断子字符串前后的单词来重命名具有子字符串“Episode.26”的目录中的文件

例如'The.Vision.of.Escaflowne.Episode.26.Eternal.Love.1080p.Dual.Audio.Bluray [BC6DDF99].mkv'

要查找的值将始终是Episode.##(## 两位数)

期望的结果:Episode.26.mkv

当前结果:Episode.26.Eternal.Love.1080p.Dual.Audio.Bluray [BC6DDF99].mkv'

我使用 python 删除了前 n 个字符;但是,我不知道如何有效地隔离“Episode.26”

import os 
 
key = "Episode." 
 
for filename in os.listdir("."): 
  if(key in filename): 
    index = filename.index(key) 
    os.rename(filename, filename[index:]) 

请您参考如下方法:

如果您的文件名总是以句点分隔,则 split() 可能就足够了:

import os 
 
ext = ".mkv" 
ndl = "Episode" 
 
for filename in os.listdir("."): 
    if ext in filename and ndl in filename: 
        num = filename.split(ndl, 1)[1].split(" ")[0].split(".")[1] 
        epi = "{}.{}{}".format(ndl, num, ext) 
        os.rename(filename, epi) 

这应该在您的针 ("ndl") 之后拆分名称,获取剧集编号并重命名文件;它还应该处理除句点之外还包含空格的文件名,或者如果“Episode.26”位于字符串的末尾(例如 Some.Movie.Episode.26 [BC6DDF99].mkv)。

结果:

Episode.26.mkv