搬运链接:https://www.jianshu.com/p/c8be54282e77

"""
可以遍历输入的路径的指定后缀的文件,主要是用来筛选图片,将图片分成
横屏,竖屏分别存放在两个文件夹中
"""
#安装模块
'''
pip install image
pip install tqdm
pip install shutil
''' from PIL import Image
import os
import os.path
from tqdm import tqdm
import shutil
#函数查找指定路径中所有文件的路径
#函数查找指定路径中所有文件的路径
def get_file(path):
list1=[]#用于存储递归查找到的所有文件,传递给函数
fileList = os.listdir(path) # 获取path目录下所有文件
for filename in fileList:
pathTmp = os.path.join(path,filename) # 获取path与filename组合后的路径
if os.path.isdir(pathTmp): # 如果是目录
a=get_file(pathTmp) # 则递归查找(注意一定要有接受变量,不然就出错了)
for i in a:
list1.append(i)
else:
list1.append(pathTmp)
return list1
#---------------------修改处1,修改原始文件位置------------------------------------
#path = input('请输入路径:').strip() #.strip()去除首尾的空格
path = r'F:\桌面\一见倾心系列' #待分开文件的位置 file_path_list=get_file(path) #筛选后缀函数,传入包含所有后缀名的列表,以及需要筛选的后缀(默认筛选txt文件)
def shai_xuan_hou_zhui(file_path_list,hou_zhui='.txt'): list2=[] #用于储存筛选好的文件的路径
for filepath in file_path_list:
# os.path.splitext():分离文件名与扩展名
if os.path.splitext(filepath)[1] == hou_zhui:
list2.append(filepath)
# print(filepath +'\n') return list2
#----------------------修改2,修改文件后缀,(可完善)------------------------------------
# hou_zhui='.jpg'
# py_list=shai_xuan_hou_zhui(file_path_list,'.py') #筛选py文件
pig_list=shai_xuan_hou_zhui(file_path_list,'.jpg') #筛选jpg格式文件
# print(txt_list)
#-----------------------修改处3,修改图片存储路径-------------------------------
folder1=r'F:\桌面\一见倾心系列\heng' #存放横屏图片的地址
folder2=r'F:\桌面\一见倾心系列\shu' #存放竖屏图片的地址 for i in tqdm(range(len(pig_list))):
lujing=pig_list[i]
picture=Image.open(lujing)
width=picture.width
height=picture.height
picture.close()
if width > height:
shutil.move(lujing,folder1)
else:
shutil.move(lujing,folder2)
print('over,over,over!')

Python--将文件夹中图片按照横屏竖屏进行分类的更多相关文章

  1. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  2. python遍历文件夹中所有文件夹和文件,os.walk

    python中可以用os.walk来遍历某个文件夹中所有文件夹和文件. 例1: import os filePath = 'C:/Users/admin/Desktop/img' for dirpat ...

  3. Python列出文件夹中的文件

    几乎所有的关于操作系统的内容可以在python 官方文档中找到:https://docs.python.org/3/library/os.html#module-os 其中os.path被单独列出:h ...

  4. python 读取文件夹中所有同类型的文件 并用pandas合并

    import globimport osimport pandas as pd read_path = 'D:/Data' # 要读取的文件夹的地址read_excel = glob.glob(os. ...

  5. python 遍历文件夹中所有文件

    '''使用walk方法递归遍历目录文件,walk方法会返回一个三元组,分别是root.dirs和files. 其中root是当前正在遍历的目录路径:dirs是一个列表,包含当前正在遍历的目录下所有的子 ...

  6. winfrom保存图片,将文件夹中图片放入listview,与撤回操作

    之前那些操作完成对图片的修改之后,就是要保存图片了. 这里保存用到一个SaveFileDialog控件,可以获取用户选择的保存文件的路径. ) { SaveFileDialog saveImageDi ...

  7. python 处理文件夹中的文件(新建另一个文件保存),listdir顺序输出

    1.原始文件

  8. Android和iOS中Cocos2dx的横屏竖屏设置

    一.横屏.竖屏设置 1.android AndroidManifest.xml文件中, screenOrientation="landscape" 为横屏, screenOrien ...

  9. python 读取文件夹中的文件内容

    看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是 这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来 ...

随机推荐

  1. Redis(十三)Python客户端redis-py

    一.安装redis-py的方法 使用pip install安装redis-py C:\Users\BigJun>pip3 install redis Collecting redis Downl ...

  2. AS报错:lambda expressions are not supported at this language level

    AS报错:lambda expressions are not supported at this language level 解决方法 打开打开 File --> Project Stuct ...

  3. Shiro框架 - 【shiro基础知识】

     转载:https://segmentfault.com/a/1190000013875092#articleHeader27  读完需要 63 分钟   前言 本文主要讲解的知识点有以下: 权限管理 ...

  4. springboot---发送邮件

    1.pom.xml配置 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...

  5. NOIP模拟 18

    这次时间分配不合理,沉迷大模拟无法自拔 虽然A了但是根本就没给T3留时间555 T3如果有时间看看数据范围应该可以想到QJ掉20分的555 T1 引子 打这题的时候感觉自己在做图像处理.. 然后调了各 ...

  6. js基础总结03 --操作数组

    修改于 2019-11-10 1 length:长度 <script> var arr = [1,2,3,4,5,6,7,8]; console.log(arr.length);//arr ...

  7. OpenCV的Mat构造函数

    1.函数说明 构造函数:public Mat(int rows, int cols, MatType type, IntPtr data, long step = 0) 可以通过数据指针构造Mat对象 ...

  8. LINQ学习——Group

    一.Group的作用 1.Group字句把select的对象根据一些标准进行分组. 2.从查询表达式返回的对象是从查询中枚举分组结果的可枚举类型. 3.每一个分组由一个叫做键的字段区分. 4.每一个分 ...

  9. 单元测试JUnit案例

    被测试模块 package packagedemo; public class Largest { public int minimal(int [] array1) { int index = 0 ...

  10. maven(1)

    Maven进价:Maven的生命周期阶段 一.Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等 ...