使用python重命名文件夹中的所有文件

时间:2019-02-28 18:13:49

标签: python

我有一个带文件的文件夹。我必须重命名所有文件,但每3个文件都重新命名。

我有此代码:

for file in os.listdir():
    src=file
    dst=id_generator()+str(i)+".png"
    os.rename(src,dst)
    i+=1

我应该如何修改它?也许还有另一种方式

2 个答案:

答案 0 :(得分:1)

您可以对此进行编辑。

counter = 1
for file in os.listdir():
    if counter%3 != 0:
        src = file
        dst=id_generator()+str(counter)+".png"
        os.rename(src,dst)
    counter+=1

答案 1 :(得分:0)

您可以执行以下操作。将所有文件名放入列表。然后遍历列表,每3个跳过一次:

import os
from fnmatch import fnmatch

r = 'C:/folder_name/'
pattern = "*.png"

filenames_temp = []

for path, subdirs, files in os.walk(r):
    for name in files:
        if fnmatch(name, pattern):
            print (path+'/'+name)
            filenames_temp.append(path+'/'+name)

filenames = filenames_temp 


for file in filenames:
    idx = filenames.index(file)

    # Skip every 3rd item
    if (idx + 1) % 3 == 0:
        continue
    src=file
    dst=id_generator()+str(idx)+".png"
    os.rename(src,dst)