import os

import shutil

import time

from time import sleep

from PIL import Image

from tqdm import tqdm

def makeDirs(path):

# 创建新的输出子目录,若存在输出该目录则删除该目录及其子文件夹和文件

if os.path.exists(path):

shutil.rmtree(path)

os.mkdir(path)

def resizePics(size):

# default_path=os.getcwd()##设置默认打开目录,即当前目录

# default_path = "/pics"

inpath = os.getcwd()

outdir = os.path.basename(inpath)+'-resize'

outpath = os.path.join(os.path.dirname(inpath), outdir)

makeDirs(outpath)

# 列出所在目录下的所有目录和文件

lists = os.listdir(inpath)

starttime = time.time()

for i in tqdm(range(0, len(lists))):

subdir = lists[i]

subpath = inpath+"/"+subdir # 子目录路径

if os.path.isdir(subpath):

outsubdir = subdir+'-resize'

outsubpath = os.path.join(outpath, outsubdir)

makeDirs(outsubpath)

# 对文件夹下的照片文件调整大小

# 列出某个子目录下的所有文件和目录

flists = os.listdir(subpath)

for j in tqdm(range(0, len(flists))):

sleep(0.01)

fname = flists[j]

fpath = subpath+"/"+fname

if os.path.isfile(fpath):

resizeSinglePic(fname, fpath, outsubpath)

passtime = time.time()-starttime

print('照片压缩完毕,总共花费了 %f s' % (passtime))

def resizeSinglePic(fname, fpath, outsubpath):

fbasename = os.path.basename(fpath)

fext = os.path.splitext(fpath)[-1]

if fext in img_ext:

img = Image.open(fpath)

img.thumbnail(size)

outfile = outsubpath+"/"+fbasename

img.save(outfile)

img_ext = ['.bmp', '.jpeg', '.JPEG','.gif', '.psd', '.png', '.JPG', '.jpg']

size = (800, 600)

resizePics(size)

python怎样批量修改文件大小_使用python对文件夹下的照片进行批量修改尺寸相关推荐

  1. 亲试:darknet_yolov3批量测试图片并保存在自定义文件夹下与图片视频相互转换

    使用darknet批量测试图片并保存在指定文件夹下 测试时:Makefile前五行一定全调为0 当我们使用darknet框架使用测试语句时,系统调用程序语句,我们需要的是加入可以连续调用图片的系统,在 ...

  2. python读取文件夹下所有txt_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  3. 对一个文件夹下的图片进行批量缩放(resize)处理

    文章目录 问题背景 环境配置 完整代码 代码解释 另一种更简单的写法 问题背景 使用GPU训练时,有时出现了图片太大,导致处理起来速度慢或内存不够崩掉的情况,因此需要对原图片进行缩放. 本文介绍了批量 ...

  4. r读取文件夹下的所有csv文件_[R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。...

    解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独 ...

  5. 怎么把图片保存到考生文件夹_请在考生文件夹下完成如下操作

    1 .请在考生文件夹下完成如下操作: ( 1 )在考生文件夹下建立 " 图片 2" 文件夹: ( 2 )在考生文件夹下查找所有的 jpg 文件,并将文件移动到 " 图片 ...

  6. python读取文件夹下所有文件的名字_一键汇总同一文件夹下所有表格,三种小技巧分享给你...

    日常工作中我们经常会遇到多表合并的情况,手动粘贴复制过于麻烦,而且容易出错,今天分享三种汇总小技巧. 方法一 Windows批处理命令 如果需要汇总的表格是CSV格式(如下图所示,表格后缀为csv), ...

  7. python 图片对比文件夹_初学Python-找出文件夹下的所有图片

    这个命题,有2种含义. 1.找出指定某个文件夹目录下的图片 2.找出指定某个文件夹及其子文件夹下的图片 两者的区别在于,子文件夹的图片是否需要找出来.对应的处理方法也略微有所区别,下面具体讲解一下.找 ...

  8. add多个文件 git 文件夹_利用 git 提取文件夹下多个特定文件里的内容写到特定文件内...

    有些时候我们需要将一个或多个文件夹内的特定文件里的内容读写到指定的文件内,如果是一个一个文件复制速度太慢,这时我们可以利用git来操作. 首先打开我们需要读取的文件的上级文件夹,在空白处右击选择[Gi ...

  9. 更改计算机用户文件夹下主机名,Win10系统修改主机名、用户名称和密码、以及C盘中的用户文件夹名...

    写在前面 近期重新安装了Ubuntu16.04系统,同时也修改了Windows10系统的用户名.密码,还有C盘用户文件夹名称.对于Linux和windows系统来说,修改名称基本都是三部分,主机名.用 ...

  10. visual basic对文件夹下的excel执行批量删除行操作

    如图操作,在excel中添加 visual basic 工具 新建一个excel 在开发工具 那里选择 插入 按钮操作 附上一下代码 Sub hz() Dim i As Long Dim f, ff ...

最新文章

  1. 【原】开源——基于文件驱动的站点开发
  2. JS数组去重的6种算法实现
  3. 类和对象—对象特性—拷贝构造函数调用时期
  4. 使用velocity
  5. JavaScript常用正则表达式收集
  6. OpenGL中的几何体实例化(OpenGL Geometry Instancing)
  7. mysql重复上一行的快捷_MySql三种避免重复插入数据的方法
  8. SharePoint 常用操作杂谈
  9. 2018年最新全国县级以上行政区划对应关系数据(按国家统计局网站整理)
  10. CC2530实现流水灯
  11. Could not create the Java Virtual Machine
  12. C语言I博客作业02
  13. 新注册第一帖----------------------乱码新手自学.net 之Linq 入门篇
  14. gedit 编辑器使用教程
  15. 华为q1设置虚拟服务器,华为路由Q1上网设置【图文】教程 | 192路由网
  16. 云桌面到底是干什么的?
  17. cerebro管理工具中添加elasticsearch字段
  18. javaScript教程笔记(一)JS简史
  19. Redis删除(del)key后内存无法释放的原因和解决方案
  20. Web安全工具—nc(瑞士军刀)持续更新

热门文章

  1. ionic加载html5,ionic 加载动画
  2. 最精彩的英语学习经验总结:俺的英语之路
  3. 程序员培训班一般要多少钱?
  4. 我的关于 **Mermaid** 语法
  5. c++ 计算多图形面积
  6. vcode——自用插件
  7. 如何在MacBook中录制iphone模式的视频?macbook屏幕模糊如何解决?
  8. 深入理解计算机系统寄存器寻址讲解
  9. UVA 1212 Duopoly
  10. 光纤传输网的发展及其新的分层结构