最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python判斷jpeg圖片的完整性實例

 更新時間:2019年06月10日 11:37:19   作者:qiyuanxiong  
今天小編就為大家分享一篇使用python判斷jpeg圖片的完整性實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

用擴展名判斷文件格式非常簡單,但是有可能是錯誤的。 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)用場景:判斷image文件夾中的jpeg文件是否完整,代碼如下:

#coding=utf-8
#summary: 判斷圖片的有效性
import io
import os
 
from PIL import Image
#判斷文件是否為有效(完整)的圖片
#輸入?yún)?shù)為文件路徑
#會出現(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é)束字段的文件檢測不出來
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圖片的完整性實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中XML轉(zhuǎn)JSON、XML轉(zhuǎn)字典代碼示例

    Python中XML轉(zhuǎn)JSON、XML轉(zhuǎn)字典代碼示例

    大家都知道python的字典和json類似,那么可不可以先將xml轉(zhuǎn)換成json再去做其他的事情呢,下面這篇文章主要給大家介紹了關(guān)于Python中XML轉(zhuǎn)JSON、XML轉(zhuǎn)字典的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • 基于Python-turtle庫繪制路飛的草帽骷髏旗、美國隊長的盾牌、高達(dá)的源碼

    基于Python-turtle庫繪制路飛的草帽骷髏旗、美國隊長的盾牌、高達(dá)的源碼

    這篇文章主要介紹了基于Python-turtle庫繪制路飛的草帽骷髏旗、美國隊長的盾牌、高達(dá)的源碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python中random模塊用法實例分析

    Python中random模塊用法實例分析

    這篇文章主要介紹了Python中random模塊用法,實例分析了Python中random模塊的使用技巧及字符串操作相關(guān)方法,需要的朋友可以參考下
    2015-05-05
  • python PyGame五子棋小游戲

    python PyGame五子棋小游戲

    大家好,本篇文章主要講的是python PyGame五子棋小游戲,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python判斷對象是否相等及eq函數(shù)的講解

    Python判斷對象是否相等及eq函數(shù)的講解

    今天小編就為大家分享一篇關(guān)于Python判斷對象是否相等及eq函數(shù)的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 利用Python和OpenCV庫將URL轉(zhuǎn)換為OpenCV格式的方法

    利用Python和OpenCV庫將URL轉(zhuǎn)換為OpenCV格式的方法

    這篇文章主要介紹了利用Python和OpenCV庫將URL轉(zhuǎn)換為OpenCV格式的方法,同時用到了NumPy和urllib,需要的朋友可以參考下
    2015-03-03
  • Python二分法搜索算法實例分析

    Python二分法搜索算法實例分析

    這篇文章主要介紹了Python二分法搜索算法,實例分析了Python實現(xiàn)二分法的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • python整合ffmpeg實現(xiàn)視頻文件的批量轉(zhuǎn)換

    python整合ffmpeg實現(xiàn)視頻文件的批量轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了python整合ffmpeg實現(xiàn)視頻文件的批量轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • python獲取微信小程序手機號并綁定遇到的坑

    python獲取微信小程序手機號并綁定遇到的坑

    這篇文章主要介紹了python獲取微信小程序手機號并綁定遇到的坑,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-11-11
  • 如何利用PyQt5美化你的GUI界面

    如何利用PyQt5美化你的GUI界面

    python的腳本開發(fā)簡單,有時候只需幾行代碼就能實現(xiàn)豐富的功能,而且python本身是跨平臺的,所以深受程序員的喜愛,下面這篇文章主要給大家介紹了關(guān)于如何利用PyQt5美化你的GUI界面的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評論

江川县| 桂阳县| 叶城县| 江永县| 白河县| 乌拉特前旗| 楚雄市| 屏东县| 法库县| 资溪县| 筠连县| 卓尼县| 棋牌| 文成县| 新蔡县| 岐山县| 关岭| 泊头市| 射阳县| 莱西市| 怀远县| 泗阳县| 白银市| 鲜城| 赞皇县| 莫力| 同德县| 金堂县| 鄢陵县| 安义县| 东丽区| 祥云县| 荔浦县| 丹江口市| 苍山县| 巴彦淖尔市| 通山县| 锡林浩特市| 江安县| 乌鲁木齐县| 容城县|