如何使用python一次重命名多个文件

时间:2018-06-11 11:51:30

标签: python

我在目录中有多个文件:

00- filename1
01- filename2
02- filename3
03- filename4

等。 我试图用01替换文件名中的00,并且01 ==> 02使用Python。 这将导致以下结果:

01- filename1
02- filename2
03- filename3
04- filename4

1 个答案:

答案 0 :(得分:0)

首先考虑如何使用list来解决这个问题。注意f-strings或格式化的字符串文字在Python 3.6 +中可用。

A = ['00- filename1', '01- filename2', '02- filename3', '03- filename4']

def renamer(x):
    num, name = x.split('-')
    newnum = str(int(num)+1).zfill(2)
    return f'{newnum}-{name}'

res = [renamer(i) for i in A]

print(res)

['01- filename1', '02- filename2', '03- filename3', '04- filename4']

然后将其合并到文件循环逻辑中。例如:

import os

for fn in os.listdir('.'):
    os.rename(fn, renamer(fn))