Python批量删除错误图片、修改文件名以及删除重复图片
生活随笔
收集整理的這篇文章主要介紹了
Python批量删除错误图片、修改文件名以及删除重复图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、批量刪除錯誤圖片:
代碼如下:
import osfor name in range(1,150):with open('C:\\Users\\adimin\\Desktop\\Pixiv_Img\\{}.png' .format(str(name)), 'rb') as fp:data = fp.read()if(len(data) == 58): # 查看一下錯誤圖片的信息,看到錯誤圖片的大小都是58byte,占用空間0KBos.remove('C:\\Users\\adimin\\Desktop\\Pixiv_Img\\{}.png' .format(str(name))) # 移除文件else:pass代碼沒考慮太多,主要是為了直接的解決問題,所以,可以看出代碼的針對性很高,但基本思路也就是這樣,就是用到了os.remove方法。
更改版:
import os for name in range(1, count):try:with open('../{}.png'.format(str(name)), 'rb') as fp:data = fp.read()if (len(data) == 58):os.remove('../{}.png'.format(str(name)))except FileNotFoundError:try:with open('../{}.jpg'.format(str(name)), 'rb') as fp:data = fp.read()if (len(data) == 58):os.remove('../{}.jpg'.format(str(name)))except FileNotFoundError:continue二、批量修改文件名:
代碼如下:
import osnew_name = 1 for name in range(1,199):# 異常處理try:with open('../{}.png' .format(str(name)), 'rb') as fp:passexcept:passelse:os.renames('../{}.png'.format(str(name)), # 修改文件名'../{}.png'.format(str(new_name)))new_name += 1 # 代碼更新 import osfilename = 1 for name in range(start,end):try:os.renames('../{}.jpg'.format(str(name)),'../{}.jpg'.format(str(filename)))filename += 1except:try:os.renames('../{}.png'.format(str(name)),'../{}.png'.format(str(filename)))filename += 1except:continue代碼也很簡單,重點就是用到了os.renames的方法。它的原型是:
| ? | renames(old:Union{bytes,?str}, new:Union{bytes,?str}) |
還有一個os.rename()方法,這個方法是對某個路徑的文件名進行修改。
三、刪除重復圖片:
用了python的字典數據類型來刪除重復圖片,思路是將圖片數據作為key,對應文件名作為value,value如果存在,則說明圖片重復,然后刪除。
代碼如下:
import osDataLirary = {} for name in range(start,end):try:with open('../{}.png'.format(str(name)), 'rb') as fp:data = fp.read()dict2 = {data:str(name)}if data in DataLirary:os.remove('../{}.png'.format(DataLirary[data]))else:DataLirary.update(dict2)except FileNotFoundError:try:with open('../{}.jpg'.format(str(name)), 'rb') as fp:data = fp.read()dict2 = {data:str(name)}if data in DataLirary:os.remove('../{}.jpg'.format(DataLirary[data]))else:DataLirary.update(dict2)except FileNotFoundError:continuefinally:pass?
總結
以上是生活随笔為你收集整理的Python批量删除错误图片、修改文件名以及删除重复图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序在当前页面设置其他页面的数据
- 下一篇: linux忘记mysql密码_Linux