第 0005 题:你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。

这道题主要用到文件遍历和图片处理的知识,由于图片处理之前已经学过了,所以新的知识点主要是文件遍历

遇到的主要问题有两个:

1.文件的递归遍历,这样能遍历到一个文件夹下面的所有文件,而非只有子目录

文件的遍历有很多方法,这里推荐三种方法Python文件遍历的三种方法

2.PIL的图片缩放,发现只能缩小,不能放大,这个之后再查找资料解决

下面是代码:

#coding=utf-8

import os

from PIL import Image

dir="C:\Users\Public\Pictures"

dest="C:\Users\Public\Pictures\\"

#递归遍历文件夹

def travelf(dir,dest,func):

for fildir,folders,files in os.walk(dir):

for folder in folders:

travelf(folder,dest,func)

for file in files:

func(fildir,file,dest)

def func(fildir,file,dest):

fname=file.split('.')

if fname[1]=='jpg' or fname[1]=='png':

im=Image.open(fildir+os.sep+file)

#im.show()

height=max(im.size)

width=1136*min(im.size)/height

im.resize((height,width),Image.ANTIALIAS )

im.save(dest+file)

if __name__=='__main__':

travelf(dir,dest,func)

python文件夹遍历_Python练习6-文件遍历相关推荐

  1. python遍历文件夹排序_python 顺序读取文件夹下面的文件(自定义排序方式)

    我们在读取文件夹下面的文件时,有时是希望能够按照相应的顺序来读取,但是 file_lists=os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的.就比如读取下面这些文件,希望能 ...

  2. python 复制文件夹校验_Python多任务复制文件夹

    import multiprocessing import os import time def copy_file(queue, file_name, old_folder_name, new_fo ...

  3. python怎么创建文件夹视频_python怎么创建文件夹

    Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建. 主要涉及到三个函数(推荐学习:Python视频教程) 1.os.path.exists(path) 判断 ...

  4. python创建文件夹 覆盖_Python 创建新文件时避免覆盖已有的同名文件的解决方法...

    思路:创建文件时,先检查是否有同名文件(使用os.path.isfile),如果有,则在文件名后加上编号n来创建. 关键点: 1. 使用os.path.isfile判断文件是否存在 2. 使用递归函数 ...

  5. python如何遍历文件夹中的所有图片_python遍历文件夹中的所有jpg文件

    python发现文件夹下所有的jpg文件,并且安装文件排放的顺序输出 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件 ...

  6. python创建文件夹命令_python文件操作指令

    原文地址:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html 常用的文件操作指令: python中对文件.文件夹(文件操 ...

  7. python列出文件夹最新的几个文件_Python列出一个文件夹及其子目录的所有文件

    python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像Perl ...

  8. python3指定目录所有excel_如何用python遍历文件夹下的所有excel文件

    import xdrlib ,sys import xlrd def open_excel(file="C:/Users/flyminer/Desktop/新建 Microsoft Exce ...

  9. python 图像格式转换文件夹下 jpg 转 bmp | 目录遍历

    python 图像格式转换文件夹下 jpg 转 bmp import os from PIL import Imagedef jpgToBmp(imgFile):dst_dir = "/ho ...

  10. python模糊查找文件夹名字_python实现在目录中查找指定文件的方法

    本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 复制代码 代码如下: import os from glob import glob ...

最新文章

  1. 人生快乐之道(组图)
  2. 转://Oracle 复合压缩索引场景及性能对比
  3. SAP Spartacus里的converter实例化逻辑
  4. Cactus在jexus上安装
  5. git 查看分支_系统掌握Git之—探索.git
  6. 计算机组成原理平均cpi怎么算_【计算机考研】每日一题数网操组130
  7. 可拖动jquery插件
  8. 串口485接法图_RS485通讯的正确接线方式介绍
  9. linux下如何查看网卡ip,linux下如何查看某个网卡当前使用的IP
  10. 面试题-mysql优化
  11. navicat for mysql 10.0.11 简体免安装中文破解版
  12. SecureCRT 8.3破解
  13. linux底层技术,Linux后端程序成长关键技术之底层体系结构
  14. html中hr标签有哪些属性,hr标签的属性有哪些?
  15. 查看服务器支持的内存条,PowerEdge 服务器支持的内存配置指南
  16. 计算机属性没有共享,win10系统本地连接属性里没有共享选项的具体方案
  17. [Angular] ng-alain的一些实践
  18. JAVA 接入微信扫码(Native)支付
  19. matlab实现数据压缩,【Matlab】Huffman编码如何实现数据压缩
  20. windows7蓝牙怎么打开_windows7系统如何调整字体大小

热门文章

  1. php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程
  2. lisp一键室内标注_LISP-标注的自动位置调整
  3. 查看zk状态时报错“Error contacting service. It is probably not running
  4. oracle11g 时间失效,关于oracle11g RAC 的CTSS与ntp时间同步的疑问
  5. 如何搭建测试平台?理清思路很重要
  6. simulik中的液压建模Simscape_Fluids资料收集及学习(原SimHydraulics)
  7. docker build命令详解_Docker镜像与容器常用命令图文详解
  8. 3.7.3 - Basic String Operations
  9. linux 修改php配置,PHP部署时的几个配置修改说明
  10. linux 构造函数 throw,在自定义异常的方法/构造函数签名中带和不带throw()的C++...