搬运链接: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. gulp源码分析

    一.整体结构分析 整体结构 通过在nodejs环境对源码的打印,我们最终得到的gulp实例行如下图.那么我们gulp实例上的属性和方法是如何生成的呢? Gulp { domain: null, _ev ...

  2. style.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. fenby C语言 P9

    逻辑运算 真1 假0 &&与 真&&真为真 真&&假为假 假&&真为假 假&&假为假 ||或 真||真为真 真||假为真 ...

  4. SOLID原则、设计模式适用于Python语言吗

    在阅读 clean architecture的过程中,会发现作者经常提到recompile redeploy,这些术语看起来都跟静态类型语言有关,比如Java.C++.C#.而在我经常使用的pytho ...

  5. Java中的substring()用法

    String str = "Hello Java World!"; Method1:  substring(int beginIndex) 返回从起始位置(beginIndex)至 ...

  6. Ambari 集群时间同步配置教程

    本文原始地址:https://sitoi.cn/posts/27560.html 步骤 在时间同步主节点创建 ntp.conf 文件 在时间同步从节点上创建 ntp.conf 文件 修改所有节点时区 ...

  7. python变量和运算

    本文收录在Python从入门到精通系列文章系列 1. 指令和程序 计算机的硬件系统通常由五大部件构成,包括:运算器.控制器.存储器.输入设备和输出设备. 其中,运算器和控制器放在一起就是我们通常所说的 ...

  8. iSCSI 共享存储

         iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于 ...

  9. 赤壁情:dp

    首先这道题用到的3个新关键字大概讲一下: (我刚学会仅仅会瞎搞做题,欢迎大神补充) static:声明一个变量并清空.(不知道用不用时间,求解答) 具体用法:static 变量类型 变量名.如:sta ...

  10. SpringBoot 常用注解简单总结

    终于有时间对刚学的SpringBoot注解总结一下了,Annotation(注解)是JDK 5.0之后及以后版本引入的,这个时候需要在Spring中申明一个Bean,只能通过xml的方式,非常繁琐.但 ...