• python读取vivo手机截图,将满屏图片文件移动别的路径


    问题之初

    在这里插入图片描述

    python读取vivo手机截图,
    将满屏图片文件移动别的路径
    
    • 1
    • 2

    在这里插入图片描述
    好多这样的图片,占用手机大量的内存,食之无味弃之可惜!那么会复制粘贴👀代码的我们我们今天就把这些图片筛选清理掉。

    这段代码

    原有逻辑的基础上,加入了一些有趣的注释,以提升代码的可读性和娱乐性。希望您喜欢这个可爱又有趣的版本!

    from PIL import Image  # 导入一个能处理图片的库
    import os  # 导入操作系统模块
    import shutil  # 导入用于移动文件的库
    
    image_path = input("请输入图片路径:")  # 提示用户输入图片路径
    
    try:
        image = Image.open(image_path)  # 打开指定路径的图片
        width, height = image.size  # 获取图片的宽度和高度
        print("图片尺寸大小:{}x{}".format(width, height))  # 输出图片尺寸信息,告诉用户有多大
    except FileNotFoundError:
        print("找不到指定的图片文件。")  # 如果找不到文件,就跟用户开个玩笑说找不到了
    
    source_folder = '/storage/emulated/0/Pictures/'  # 原始文件夹路径
    target_folder = '/storage/emulated/0/Pictures/图片要删除/'  # 目标文件夹路径
    
    # 创建目标文件夹(如果不存在),告诉用户我们会在哪放被移除的图片
    if not os.path.exists(target_folder):
        os.makedirs(target_folder)
        print("目标文件夹已创建,准备将相同尺寸的图片移动到这里~")
    
    for filename in os.listdir(source_folder):  # 遍历原始文件夹中的所有文件
        file_path = os.path.join(source_folder, filename)  # 文件的完整路径
        if os.path.isfile(file_path):  # 如果是文件而不是文件夹
            try:
                image = Image.open(file_path)  # 再次打开文件,准备获取尺寸
                if image.size == (width, height):  # 如果和用户输入的图片尺寸一样
                    shutil.move(file_path, target_folder)  # 将文件移到目标文件夹
                    print("找到一张和指定图片尺寸相同的图片,已经移动到目标文件夹了~")
            except:
                pass  # 不处理无法打开的文件
    
    print("任务完成!希望您喜欢这段可爱优雅诙谐机智的代码~")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    这个完整的代码可以直接复制粘贴到Python环境中,然运行。
    在这个过程中,请将image_pathsource_folder变量的值替换为您使用的路径。

    第2种方法

    哎呀,手机📱在充电!
    在这里插入图片描述

    from PIL import Image  # 导入PIL库,用于处理图片
    import os  # 导入os库,用于操作文件和目录
    import shutil  # 导入shutil库,用于移动文件
    from tqdm import tqdm  # 导入tqdm库,用于显示进度条
    
    # 读取输入图片的尺寸
    image_path = input("请提供可爱的图片:")
    if not os.path.exists(image_path):
        image_path = "/storage/emulated/0/Pictures/Screenshots/Screenshot_20231005_1 30732.jpg"
        if not os.path.exists(image_path):
            print("找不到可爱么文件,请重新输入地址。")
            exit()
    
    try:
        with Image.open(image_path) as img:
            width, height = img.size
            print(f"输入图片的尺寸:{width}x{height},非常可爱优雅!")
    except FileNotFoundError:
        print("找不到指定的图片文件,请重新输入路径。")
        exit()
    
    # 读取并创建源文件夹和目标文件夹
    source_folder = input("请输入一张可爱图片的源文件夹路径:")
    if not os.path.exists(source_folder):
        source_folder = "/storage/emulated/0/Pictures/Screenshots"
        if not os.path.exists(source_folder):
            print("找不到源文件夹,请检查路径是否正确。")
            exit()
    
    target_folder = input("请输入一个要移动可爱尺寸图片的目标地址:")
    if not os.path.exists(target_folder):
        target_folder = "/storage/emulated/0/Pictures/图片要删除"
        if not os.path.exists(target_folder):
            os.makedirs(target_folder)
            print("目标文件夹已成功创建!")
    
    # 遍历源文件夹,查找所有与输入图片尺寸相同的美丽图片,并移动到目标文件夹中
    moved_count = 0
    for root, dirs, files in tqdm(os.walk(source_folder), desc='正在搜寻“可爱尺寸”的图片', unit="张"):
        for filename in files:
            filepath = os.path.join(root, filename)
            try:
                with Image.open(filepath) as img:
                    if img.size == (width, height):
                        # 如果图片尺寸相同,则将它移动到目标文件夹中
                        shutil.move(filepath, os.path.join(target_folder, filename))
                        moved_count += 1
            except Exception as e:
                print(f"哎呀,发生了一个小错误:{str(e)}")
                pass
    
    print(f"已成功移动 {moved_count} 张美丽的图片到目标文件夹!请欣赏它们的优雅姿态。")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52

    图片

    在这里插入图片描述
    在这里插入图片描述

    直接回车

    在这里插入图片描述

  • 相关阅读:
    带你深入Java Log框架,彻底搞懂Log4J、Log4J2、LogBack,SLF4J
    一探Redis究竟:超火爆入门指南,你竟然还没看?
    【MySQL】MySQL数据库的初阶使用
    Java if VS switch
    Windows编程dll基本知识点
    再创佳绩!移远通信RG500U-EA 5G模组获得全球首个紫光展锐V510平台GCF 认证
    如何进行机器学习
    【杂记-浅谈XSS跨站脚本攻击】
    Linux下安装Foldseek并从蛋白质的PDB结构中获取 3Di Token 和 3Di Embedding
    202333读书笔记|《四季读诗》——绿蚁新醅酒,红泥小火炉。晚来天欲雪,能饮一杯无。
  • 原文地址:https://blog.csdn.net/weixin_73675558/article/details/133579082