使用Python重命名文件名

使用Python重命名文件名,python,regex,rename,Python,Regex,Rename,抱歉,如果这个问题太基本,我一直在搜索python和正则表达式,但没有找到我需要的确切内容 我有一大堆电视节目文件,名字以S01EXX结尾,如下所示: filename.S01E01.mkv filename.S01E02.mkv filename.S01E03.mkv 每一集实际上都是两集,因此上述三集应以以下形式命名: filename.S01E01-E02.mkv filename.S01E03-E04.mkv filename.S01E05-E06.mkv 所以每一集都应该是第2集减

抱歉,如果这个问题太基本,我一直在搜索python和正则表达式,但没有找到我需要的确切内容

我有一大堆电视节目文件,名字以S01EXX结尾,如下所示:

filename.S01E01.mkv
filename.S01E02.mkv
filename.S01E03.mkv
每一集实际上都是两集,因此上述三集应以以下形式命名:

filename.S01E01-E02.mkv
filename.S01E03-E04.mkv
filename.S01E05-E06.mkv
所以每一集都应该是第2集减去1,第2集乘以2。我知道如何用python重命名和拆分,我只是不知道如何解析出剧集编号,以及如何处理当我们达到2位数剧集编号时将消失的前导零


非常感谢您的帮助

如果插曲编号的位置是恒定的,则可以使用切片来提取:

e = int(filename[-6:-4])
new_filename = '%s%02d-E%02d%s' % (filename[:-6], e*2-1, e*2, filename[-4:])

如果插曲编号的位置是恒定的,则可以使用切片来提取它:

e = int(filename[-6:-4])
new_filename = '%s%02d-E%02d%s' % (filename[:-6], e*2-1, e*2, filename[-4:])

哦,那是个好主意。正是我需要的。非常感谢你!文件名切片,加上正则表达式模式匹配,今天节省了我几个小时的劳动。好组合!哦,那是个好主意。正是我需要的。非常感谢你!文件名切片,加上正则表达式模式匹配,今天节省了我几个小时的劳动。好组合!