介绍
这篇文章主要介绍python怎么实现图片批量压缩,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
python的数据类型有哪些吗?
python的数据类型:1。数字类型,包括int(整型),长(长整型)和浮子(浮点型)。2。字符串,分别是str类型和unicode类型。3。布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和虚假的(假)。4。列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5。元组,元组用“()”标识,内部元素用逗号隔开。6。字,字典典是一种键值对的集合。7。集合,集合是一个无序的,不重复的数据组合。
项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩
第一种
,一:安装包
python -m pip install 枕头
二:导入包
得到PIL import 形象 import 操作系统
三:获取图片文件的大小
def get_size(文件): ,,,#,获取文件大小:KB ,,,size =, os.path.getsize(文件) ,,,return size /, 1024
四:输出文件夹下的文件
dir_path =, " # 39; file_path& # 39; 时间=items os.listdir (dir_path) for item 拷贝项目: ,,,#,打印(项) ,,,path =, os.path.join (dir_path,,项目) ,,,印刷(项)
五:压缩文件到指定大小,我期望的是150 kb,步骤和质量可以修改到最合适的数值
def compress_image (infile,输出文件=没有,mb=150,,=10步,,质量=80): ,,,“““不改变图片尺寸压缩到指定大小 ,,,:param infile:,压缩源文件 ,,,:param 输出文件:,压缩文件保存地址 ,,,:param mb:,压缩目标,KB ,,,:param 步骤:,每次调整的压缩比率 ,,,:param 质量:,初始压缩比率 ,,,::返回,压缩文件地址,压缩文件大小 ,,,,,, ,,,if outfile is 没有: ,,,,,,,outfile =infile ,,,o_size =, get_size (infile) ,,,if o_size & lt;=, mb: ,,,,,,,我=,Image.open (infile) ,,,,,,,im.save(输出文件) ,,,while o_size 祝辞,mb: ,,,,,,,我=,Image.open (infile) ,,,,,,,im.save(输出文件,质量=质量) ,,,,,,,if quality 作用;step & lt;, 0: ,,,,,,,,,,,休息 ,,,,,,,quality -=,一步 ,,,,,,,o_size =, get_size(输出文件)
六:修改图片尺寸,如果同时有修改尺寸和大小的需要,可以先修改尺寸,再压缩大小
def resize_image (infile,输出文件=& # 39;& # 39;,,间=800): ,,,“““修改图片尺寸 ,,,:param infile:,图片源文件 ,,,:param 输出文件:,重设尺寸文件保存地址 ,,,:param 间:,设置的宽度 ,,,:返回: ,,,,,, ,,,我=,Image.open (infile) ,,,x,, y =im.size ,,,y_s =, int (y *, x_s /, x) ,,,out =, im.resize ((y_s间也),Image.ANTIALIAS) ,,,out.save(输出文件)
七:运行程序
if __name__ ==, & # 39; __main__ # 39;: ,,,,,,,,,,,,,,,,,,,,,,号源路径,,,,,,#,压缩后路径 ,,,compress_image (r" file_path",, r" E: \ docs \ 2. jpg") ,,,,,,,,,,,,,,,,,,,,号源路径,,,,,,#,压缩后路径 ,,,resize_image (r" file_path",, r" E: \ docs \ 3. jpg")
第二种
import 操作系统 得到PIL import 形象 import ,线程、时间 def imgToProgressive(路径): ,,,if not path.split(& # 39; # 39;公司)[1:][0],拷贝(& # 39;png # 39; & # 39; jpg # 39;, & # 39; jpeg # 39;]:,, # if path 不# 39;t a image 文件,返回 ,,,,,,,回来 ,,,if os.path.isdir(路径): ,,,,,,,回来 # # # # # # # # # # transform img 用进步 ,,,img =, Image.open(路径) ,,,destination =, path.split(& # 39; # 39;公司)[1][0]+ & # 39;_destination强生# 39;+ path.split(& # 39; # 39;公司)[1:][0] ,,,试一试: null null null null null null null null null null null null null null null null nullpython怎么实现图片批量压缩