代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Python
】
检测图片格式
作者:
Dezai.CN
/ 发布于
2013/8/28
/
961
import os import Image import numpy #rootdir=r'.\src\art\scene\diffuse' #errPath=r'.\plan\question\errFile.txt' import argparse # 处理参数使用 #import common # 一些通用的函数 import argparse import sys def encodeChinese(msg): type = sys.getfilesystemencoding() return msg.decode('UTF-8').encode(type) image_path='保存图片的路径' log_path='输出错误日志' help_image_path=encodeChinese(image_path) help_log_path=encodeChinese(log_path) help_path=encodeChinese('检测给定的文件夹中的文件是否符合要求(格式,大小,分辨率)') parser = argparse.ArgumentParser(description=encodeChinese('检测给定的文件夹中的文件是否符合要求(格式,大小,分辨率)')) parser.add_argument('--dir', action='store', dest='image_dir', help=help_image_path) #common.encodeChinese(help_log_path)) parser.add_argument('--log', action='store', dest='log_filename', help=help_log_path) #common.encodeChinese(help_log_path)) parser.add_argument('--version', action='version', version='%(prog)s 1.0') args = parser.parse_args() err_image_dir=encodeChinese('没有输入保存图片文件的文件夹') err_log_dir=encodeChinese('没有输入保存错误信息的日志文件名称') # 判断必须给定的参数 if args.image_dir is None : print err_image_dir#common.encodeChinese('没有输入保存图片文件的文件夹') sys.exit() if args.log_filename is None : print err_log_dir #common.encodeChinese('没有输入保存错误信息的日志文件名称') sys.exit() rootdir=args.image_dir errPath=args.log_filename #错误文件 errFile=open(errPath,'w') n=0 #父文件夹,子文件夹,文件名 for parent,dirnames,filenames in os.walk(rootdir): #for dirname in dirnames: for filename in filenames: #得到文件名和文件路径的二元组 filename1,filename2=os.path.split(filename) #连接根目录和文件名 filename=rootdir+os.sep+filename fName,fPath=os.path.splitext(filename) if((fPath=='.jpg') or (fPath=='.png')): f=open(filename,'rb') f.seek(0,2) fSize=f.tell() if(fSize/1024>1024): print rootdir #输出文件路径和文件名 filename=parent+os.sep+filename2 errFile.write(filename+'\n') err_sizeFile=encodeChinese('文件大小超过1024') errFile.write(err_sizeFile + ': ' + str(fSize/1024) +'\n') errFile.write('\n') elif(fSize/1024<=1024): img=Image.open(filename) value=img.size if(((img.size[0]<64)or(img.size[0]%64!=0)or(img.size[1]/img.size[0]>2)or (img.size[1]<64)or(img.size[1]%64!=0)or(img.size[0]/img.size[1]>2))): print parent print filename print img.size #errImfor='大小: '+str(f.tell())+' 尺寸: 'str(img.size) value=parent+os.sep+filename2 errSize=img.size errFile.write(value+'\n') err_bigFile=encodeChinese('文件分辨率错误') errFile.write(err_bigFile)#'the image so big: ') errFile.write(str(errSize)+'\n') errFile.write('\n') n+=1 else: #输出路径和文件名 outPath=parent+os.sep+filename2 errFile.write(outPath+'\n') err_File=encodeChinese('文件格式不正确') errFile.write(err_File)#'the File err') errFile.write('\n') n+=1 print fName f.close() errFile.close() print n
试试其它关键字
检测图片格式
同语言下
.
比较两个图片的相似度
.
过urllib2获取带有中文参数的url内容
.
不下载获取远程图片的宽度和高度及文件大小
.
通过qrcode库生成二维码
.
通过httplib发送GET和POST请求
.
Django下解决小文件下载
.
遍历windows的所有窗口并输出窗口标题
.
根据窗口标题调用窗口
.
python 抓取搜狗指定公众号
.
pandas读取指定列
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3