`

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': return False
    if data[6:] != 'JFIF\0': return False
    return True


上面的方式通过文件的前x个字节对文件格式做了判断,如果我们的要求更高,可以通过PIL类库来做判断。
from PIL import Image
def is_jpg(filename):
    try:
        i=Image.open(filename)
        return i.format =='JPEG'
    except IOError:
        return False


转自: http://outofmemory.cn/code-snippet/35749/python-test-jpeg-file-with-header-or-PIL-library

花下眠工作室:
分享到:
评论

相关推荐

    使用python判断jpeg图片的完整性实例

    用扩展名判断文件格式非常简单,但是有可能是错误的。 jpeg文件有固定的文件头,其文件头的格式如下: Start Marker | JFIF Marker | Header Length | Identifier 0xff, 0xd8 | 0xff, 0xe0 | 2-bytes | JFIF\0 所以...

    Python判断一个文件夹内哪些文件是图片的实例

    这里列出了常见的图片格式,如`.jpg`、`.jpeg`、`.png`和`.bmp`,如果扩展名匹配其中任何一种,函数将返回`True`,表示该文件是图片;否则,返回`False`。 然后,我们可以通过遍历`os.listdir(directory)`来获取...

    头像格式检测python代码.rar

    需要注意的是,上述代码示例中的`check_image_format`函数只能判断文件是否为有效图像,而不能区分具体是JPEG、PNG还是其他格式。要获取更详细的格式信息,可以在打开图像后,检查`img.format`属性,它会返回如"JPEG...

    Python代码源码-实操案例-框架案例-解决对图片格式进行批量转换的问题.zip

    可以使用`os`库来获取目录中的文件名,并检查文件是否为图片(通常根据扩展名判断)。 ```python import os def batch_convert_images(directory, target_format): for filename in os.listdir(directory): if ...

    Python检查图片是否损坏及图片类型是否正确过程详解

    图片后缀与实际类型匹配检验的函数is_type_wrong会检查文件的扩展名是否与实际内容相符。如果文件的扩展名和实际类型不匹配,程序会返回True,并返回正确的文件类型。 整个过程的关键点在于正确读取文件的头部信息...

    Python获取指定文件夹下的文件名的方法

    例如,如果我们想要获取所有JPEG图片文件的名称,可以使用os.path.splitext()函数来判断文件扩展名是否为“.jpeg”。如果条件成立,则将文件的完整路径加入到一个列表中。 接下来,让我们看看os.listdir()函数。与...

    python通过文件头判断文件类型

    2. **定义文件类型映射表**:创建一个字典,键为十六进制字符串形式的文件头,值为对应的文件扩展名。 ```python def typeList(): return { "52617221": "RAR", "504B0304": "ZIP" } ``` 3. **将字节码转换...

    Python使用Flask框架同时上传多个文件的方法

    这个函数会检查文件名中是否含有点(.),并且文件的扩展名是否在我们之前设定的允许列表中。 ```python def allowed_file(filename): return '.' in filename and \ filename.rsplit('.', 1)[1].lower() in app....

    python3图片文件批量重命名处理

    接着,遍历每一个文件,检查是否为图片文件(通过文件扩展名来判断,支持的格式包括.jpg、.png、.jpeg、.gif)。对于每一个图片文件,程序检查其名称中是否包含特定的字符串(本例中是"-2-01"),如果存在,则使用...

    python批量图片处理简单示例

    这里使用了条件表达式来判断图片的尺寸,如果图片宽度超过640像素或者高度超过1136像素,则按比例进行缩放,保证图片不会超过这个尺寸。缩放操作使用了thumbnail()方法,它会根据给定的尺寸进行缩放,并且保持图片的...

    python如何获取当前文件夹下所有文件名详解

    这里,我们首先通过`os.path.splitext()` 分离文件名和扩展名,然后检查扩展名是否为`.jpeg`。如果是,则将完整的文件路径添加到列表中返回。 #### os.listdir() 除了`os.walk()`,还可以使用`os.listdir()` 函数...

    遍厉文件夹,并可输出图片文件的长宽

    同时,为了只处理图片文件,我们需要一个条件判断,通常是对文件扩展名的检查。 6. 错误处理: 在实际应用中,应考虑可能出现的错误情况,如文件不存在、权限问题、非图片文件等。可以使用`try/except`块来捕获和...

    4_类型_

    1. 文件扩展名:最常见的方法是通过文件的扩展名来判断。大多数操作系统和应用程序会根据文件扩展名关联到特定的MimeType。然而,这种方法并不总是可靠,因为文件扩展名可以被随意更改。 2. HTTP头部:当通过HTTP或...

    检测上传文件的类型,确保安全(代码)

    本篇文章将详细介绍如何通过读取文件头部特征来判断文件的真实类型,即使其扩展名被修改过。 #### 文件类型检测的重要性 在Web应用中,文件上传功能如果缺乏有效的控制机制,很容易成为攻击者利用的安全漏洞。例如...

    从网页代码中提取图片地址另存到文本进行批量下载.rar

    例如,可以使用Python的`urlparse`模块来解析URL并检查文件扩展名: ```python from urllib.parse import urlparse, urljoin def is_valid_image_url(url): parsed_url = urlparse(url) return parsed_url.path....

    phyton归类图片

    另外,还可以通过文件的扩展名来识别,这可以通过`os.path.splitext()`函数实现。 3. **循环与条件判断**:遍历文件夹中的所有文件,对每个文件进行检查,根据文件类型决定是否将其移动到特定的目录。这需要用到...

    findallpic.rar_Traverse_all_files

    在这个示例中,`find_images`函数接收一个目录路径,然后对每个文件进行检查,如果文件名以常见的图片扩展名结尾,就打印出该文件的完整路径。 在"findallpic.rar"压缩包中,我们有两个文件:`findallpic.m`和`pic`...

Global site tag (gtag.js) - Google Analytics