美文网首页
python筛选目录下非jpeg,png,bmp格式的图片

python筛选目录下非jpeg,png,bmp格式的图片

作者: ksnowlv | 来源:发表于2019-05-15 20:57 被阅读0次

功能:筛选指定目录下非jpeg/png/bmp格式的文件,并把路径以日志形式输出。

关键有两点:

  • 目录遍历,记录所有文件路径。
  • 遍历路径,使用imghdr.what判断文件格式,非jpeg/png/bmp格式的文件路径输出。

import os
import imghdr

##工具功能:筛选目录下非jpeg,png,bmp格式的图片,并输出其路径
##Python 3.0

#图片文件夹目录
IMAGEPATH = None

#初始化
def init():
    global IMAGEPATH
    IMAGEPATH  = "/Users/ksnowlv/Documents/image"


# 功能:读取指定目录下的所有文件绝对路径(包括该目录下所有子目录),并以列表形式返回

def readDir(dirPath):
    myDirPath = dirPath
    if dirPath.endswith('/'):# 要求传入的路径参数最后不能有斜杠,目的是为了递归时格式统一
        myDirPath = dirPath.rstrip('/')
        print('文件夹路径末尾删除/ = %s'%(myDirPath))

    allFiles = []

    if os.path.isdir(myDirPath):
        fileList = os.listdir(myDirPath)
        for f in fileList:
            f = myDirPath+'/'+f
            if os.path.isdir(f):
                subFiles = readDir(f)
                allFiles = subFiles + allFiles #合并当前目录与子目录的所有文件路径
            else:
                allFiles.append(f)
        return allFiles
    else:
        print('Error,not a dir')
    return allFiles

#根据路径筛选出非目标图片的路径
def filterPicture(fileList):
    for fileName in fileList:
        # data = open(fileName, 'rb').read(20)
        fileType = imghdr.what(fileName)
        # print("filename = %s fileType = %s" % (fileName,fileType))

        if fileType != "jpeg" and fileType != "png" and fileType != "bmp":
            print("filename = %s can not parse fileType = %s " % (fileName, fileType))

def main():
    init()
    fileList = readDir(IMAGEPATH)
    filterPicture(fileList)


if __name__ == '__main__':
    main()

相关文章

  • python筛选目录下非jpeg,png,bmp格式的图片

    功能:筛选指定目录下非jpeg/png/bmp格式的文件,并把路径以日志形式输出。 关键有两点: 目录遍历,记录所...

  • 图片格式

    常见图片文件格式 常见格式包括:BMP JPEG GIF PNG 1、BMP 2、JPEG 3、GIF 4、PNG

  • PNG、JPEG、BMP等几种图片格式详解

    PNG、JPEG、BMP等几种图片格式详解(一)—— PNGPNG、JPEG、BMP等几种图片格式详解(二)—— ...

  • YYImage检测图片格式与加载GIF图片的原理

    图片格式:GIF、PNG、JPEG、BMP、TIFF、WebP等 一、YYImageDetectType检测图片格...

  • android基础 -- 图片

    一.android图片格式   Android 平台支持的图片格式主要有:JPEG、PNG、GIF、BMP和Web...

  • APP瘦身

    优化图片资源 Android支持的图片格式主要有: PNG, JPEG , GIF , BMP 和 WebP(An...

  • tensorflow--图像处理逻辑

    1 读取图像,实现tfrecord格式转化 2 读取其他类别图片,实现 bmp、jpeg、png等图片类型的格式转...

  • webp

    图片分很多种,比较主流的就是:位图(BMP),jpg(JPEG,有损压缩格式),png(无损压缩格式)等,这三种,...

  • 几款好用的图床分享

    SM.MS sm.ms 支持的图片格式包括 JPG、JPEG、GIF、PNG 及 BMP,单档不超过 5 MB,单...

  • 图片格式及存储

    图片格式是什么 最常用的jpg或jpeg、png、gif、bmp等,用于图片在计算机中的存储协议,主要在图像压缩、...

网友评论

      本文标题:python筛选目录下非jpeg,png,bmp格式的图片

      本文链接:https://www.haomeiwen.com/subject/jkgmaqtx.html