问题之初
python读取vivo手机截图,
将满屏图片文件移动别的路径
好多这样的图片,占用手机大量的内存,食之无味弃之可惜!那么会复制粘贴👀代码的我们我们今天就把这些图片筛选清理掉。
这段代码
原有逻辑的基础上,加入了一些有趣的注释,以提升代码的可读性和娱乐性。希望您喜欢这个可爱又有趣的版本!
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("任务完成!希望您喜欢这段可爱优雅诙谐机智的代码~")
这个完整的代码可以直接复制粘贴到Python环境中,然后运行。
在这个过程中,请将image_path
和source_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.sizeprint(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 += 1except Exception as e:print(f"哎呀,发生了一个小错误:{str(e)}")passprint(f"已成功移动 {moved_count} 张美丽的图片到目标文件夹!请欣赏它们的优雅姿态。")
图片