如:文件夹中有1.jpg 2.jpg………50.jpg
如何删除每隔5张的图片
注:图片有顺序
比如这些文件名在一个列表:L=['1.jpg','4.jpg','3.jpg',...]
for i in range(1,51,5):
#删除文件名为 L[i]的文件
使用如下代码即可:
其中 sorted(os.listdir('pictures'), key=lambda _: int(_[:-4]))
是对去除后缀的数字进行排序;enumerate
用来同时获取序号和文件名,可以适用更多使用环境;index % 6
是每隔5个(每6个中删一个)的写法,从第1个文件删除取余就是0,以此类推(0-5)。
import os
for index, file in enumerate(sorted(os.listdir('pictures'), key=lambda _: int(_[:-4]))):
if index % 6 == 0:
print(f'pictures/{file}')
os.remove(f'pictures/{file}')
结果展示: