因为本人平时喜好存一些图片,但经常批量下载,存了又不怎么看,因此有很多图片实际上并不需要,因此我想到了这个办法。

使用这个工具,输入路径后,会自动随机抽取路径下的两张图片,然后可以自己选择留下哪一张,或者是直接跳过。

同时,我还使用了HTTP服务,因此可以躺床上用手机操作。

开始运行后访问localhost:1145即可。

代码如下。

import os
import random
from pywebio.input import *
from pywebio.output import *
from pywebio import start_server


# 1. 读取目录内的随机两张图片
def get_random_images(directory):
    images = [f for f in os.listdir(directory) if f.endswith((".png", ".jpg", ".jpeg"))]
    if len(images) < 2:
        return None
    selected_images = random.sample(images, 2)
    return [os.path.join(directory, img) for img in selected_images]


# 2. 显示图片并处理用户选择
def show_images(directory):
    while True:
        image_paths = get_random_images(directory)
        if not image_paths:
            put_text("目录中没有足够的图片")
            break

        # 显示图片
        img1 = open(image_paths[0], "rb").read()
        img2 = open(image_paths[1], "rb").read()
        put_row(
            [
                put_image(img1),
                put_image(img2),
            ]
        )

        # 创建按钮
        choice = actions("", ["留下左边", "留下右边", "跳过"])

        # 刷新页面
        clear()
        # 处理用户选择
        if choice == "留下左边":
            os.remove(image_paths[1])
        elif choice == "留下右边":
            os.remove(image_paths[0])
        elif choice == "跳过":
            continue


# 3. 开启HTTP服务
def main():
    directory = input("请输入图片目录的路径:")
    show_images(directory)


start_server(main, port=1145)