亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

使用python判斷jpeg圖片的完整性實(shí)例

系統(tǒng) 1911 0

用擴(kuò)展名判斷文件格式非常簡(jiǎn)單,但是有可能是錯(cuò)誤的。 jpeg文件有固定的文件頭,其文件頭的格式如下:

            
Start Marker | JFIF Marker | Header Length | Identifier
 
0xff, 0xd8  | 0xff, 0xe0 |  2-bytes  | "JFIF\0"
          

所以可以通過文件頭的方式快速判斷文件格式:

            
def is_jpg(filename):
  data = open(filename,'rb').read(11)
  if data[:4] != '\xff\xd8\xff\xe0' and data[:4]!='\xff\xd8\xff\xe1': 
    return False
  if data[6:] != 'JFIF\0' and data[6:] != 'Exif\0': 
    return False
  return True
          

也可以通過PIL類庫來做判斷:

            
from PIL import Image
def is_jpg(filename):
  try:
    i=Image.open(filename)
    return i.format =='JPEG'
  except IOError:
    return Fals
          

應(yīng)用場(chǎng)景:判斷image文件夾中的jpeg文件是否完整,代碼如下:

            
#coding=utf-8
#summary: 判斷圖片的有效性
import io
import os
 
from PIL import Image
#判斷文件是否為有效(完整)的圖片
#輸入?yún)?shù)為文件路徑
#會(huì)出現(xiàn)漏檢的情況
def IsValidImage(pathfile):
 bValid = True
 try:
  Image.open(pathfile).verify()
 except:
  bValid = False
 return bValid
 
 
def is_valid_jpg(jpg_file): 
  """判斷JPG文件下載是否完整 
  """ 
  if jpg_file.split('.')[-1].lower() == 'jpg': 
    with open(jpg_file, 'rb') as f: 
      f.seek(-2, 2) 
      return f.read() == '\xff\xd9' #判定jpg是否包含結(jié)束字段 
  else: 
    return True
 
#利用PIL庫進(jìn)行jpeg格式判定,但有些沒有結(jié)束字段的文件檢測(cè)不出來
def is_jpg(filename):
  try:
    i=Image.open(filename)
    return i.format =='JPEG'
  except IOError:
    return False
 
allfiles=os.listdir('image')
log_file=open('img_lossinfo.txt','w')
log = open('img_r.txt','w')
log_w=open('img_w.txt','w')
log1=open('img_jpeg.txt','w')
log2=open('img_notjpg.txt','w')
for i in allfiles:
#if 1:
	if i[-4:]=='.jpg':
		f=os.path.join('image',i)
		value=IsValidImage(f)
		if not value:
			log_file.write(i+'\n')
		if is_valid_jpg(f):
			print f
			log.write(i+'\n')
		else:
			log_w.write(i+'\n')
		if is_jpg(f):
			log1.write(i+'\n')
		else:
			log2.write(i+'\n')


          

以上這篇使用python判斷jpeg圖片的完整性實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 色资源站 | 一级毛片免费在线观看网站 | 欧美不卡在线观看 | 色播影院性播影院私人影吧 | 羞羞视频在线观看 | 天天操国产 | 国产网址 | 天天色天天干天天射 | 天堂一区二区在线观看 | 日本精品久久久一区二区三区 | 欧美成人免费xxx大片 | 四虎最新网址 | 高清在线精品一区二区 | 成人中文字幕一区二区三区 | 日本中文字幕在线视频 | 最新777奇米影视四色 | 国产亚洲一区二区麻豆 | 99九九精品国产高清自在线 | 美女视频黄视大全视频免费网址 | 亚洲国产成人综合 | 国产精品久久久影院 | 91国在线观看 | 青青青视频自偷自拍视频1 青青青手机版视频在线观看 | 久久99热不卡精品免费观看 | 四虎影视在线播放 | 国产日韩欧美综合一区 | 奇米影视播放器 | 永久免费观看黄网站 | 色www 永久免费网站 | 就草草在线观看视频 | 日本精品久久久久中文字幕8 | 欧美日韩高清一区二区三区 | 亚洲日本在线观看 | 色综合久久88中文字幕 | 久久久久国产精品四虎 | 欧美色p| 99热久久国产这里是精品 | 大陆一级毛片 | 福利网站在线播放 | 亚洲一区在线视频观看 | 日本成本人在线观看免费视频 |