/data/user/0/org.qpython.qpy/files/bin/qpy thon3.sh "/storage/emulated/0/qpython/pyth on读取vivo手机截图,将满屏图片文件移动别的 路径1.1.3.2.py" && exit
文件移动别的路径1.1.3.2.py" && exit < 请提供可爱的图片:/storage/emulated/0/Pict ures/Screenshots/Screenshot_20231005_15133 9.jpg
输入图片的尺寸:1080x2388,非常可爱优雅!
请输入一张可爱图片的源文件夹路径:
请输入一个要移动可爱尺寸图片的目标地址:
正在搜寻“可爱尺寸”的图片: 0张 [00:00, ?张/ s]哎呀,发生了一个小错误:cannot identify image file '/storage/emulated/0/Pictures/S creenshots/.escheck.tmp'
哎呀,发生了一个小错误:cannot identify im age file '/storage/emulated/0/Pictures/Scr eenshots/Screenrecording_20230820_091215.m p4'
哎呀,发生了一个小错误:cannot identify im age file '/storage/emulated/0/Pictures/Scr eenshots/Screenrecording_20230915_151034.m p4'
正在搜寻“可爱尺寸”的图片: 1张 [00:05, 5.0 正在搜寻“可爱尺寸”的图片: 2张 [00:05, 2.2 正在搜寻“可爱尺寸”的图片: 2张 [00:05, 2.6 5s/张]
已成功移动 3 张美丽的图片到目标文件夹!请欣赏它们的优雅姿态。
#[QPython] Press enter to exit ...
代码已成功运行并完成图片移动操作。
根据输出结果显示,已经成功移动了3张与输入图片尺寸相同的可爱图片到目标文件夹中。您可以在目标文件夹中欣赏它们的优雅姿态。如果您有其他问题,可以点击评论按钮吐槽。
哎呀,发生了一个小错误:cannot identify im age file '/storage/emulated/0/Pictures/Scr eenshots/Screenrecording_20230820_091215.m p4'
哎呀,发生了一个小错误:cannot identify im age file '/storage/emulated/0/Pictures/Scr eenshots/Screenrecording_20230915_151034.m p4
这是因为,代码发生了无法识别文件格式的错误。这可能是因为代码尝试打开的文件不是有效的图片文件导致的。可以尝试手动删除这两个无效的文件,或者在代码中添加一些处理逻辑来跳过无效的文件。以下是更新的代码例子:
代码中使用了os.walk
来遍历源文件夹及其子文件夹中的所有文件。对于每个文件,都会使用Image.open
来打开并检查其尺寸是否与输入的图片尺寸相同。
如果要指定搜索特定类型的图片文件(例如.jpg
或.png
),可以在遍历文件时添加一个判断条件。以下是更新后的代码示例:
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
invalid_files = [] # 存储无法识别的文件路径
for root, dirs, files in tqdm(os.walk(source_folder), desc='正在路径搜寻“可爱尺寸”的图片', unit="张"):
for filename in files:
filepath = os.path.join(root, filename)
try:
# 判断文件类型是否为图片(以.jpg、.jpeg、.png等结尾)
if filepath.lower().endswith(('.jpg', '.jpeg', '.png')):
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:
invalid_files.append(filepath)
print(f"发生了一个小错误:{str(e)}")
pass
print(f"已成功移动 {moved_count} 张美丽的图片到目标文件夹!请欣赏它们的优雅姿态。")
print(f"无法识别的文件:{invalid_files}") # 打印无法识别的文件路径列表
更新代码后,使用filepath.lower().endswith(('.jpg', '.jpeg', '.png'))
来判断文件是否以.jpg
、.jpeg
或.png
结尾,以此确定文件类型为图片。只有当文件类型为图片时,才会打开并检查其尺寸。
如果您希望搜索其他类型的图片文件,请依葫芦画瓢修改判断条件。