我有一个带文件的文件夹。我必须重命名所有文件,但每3个文件都重新命名。
我有此代码:
for file in os.listdir():
src=file
dst=id_generator()+str(i)+".png"
os.rename(src,dst)
i+=1
我应该如何修改它?也许还有另一种方式
答案 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)