python - 基本照片文件分类器
问题描述
我目前是一名本科实习工程师,并希望为我工作场所的人简化文件分类流程。我正在尝试制作一个显示图像并在下方具有按钮的python程序,而不是按下时将该照片移动到特定文件夹中。
到目前为止最大的困难是我没有使用 python 的经验,但那是公司使用的,所以我被锁定了。我能够创建一个杂乱的程序,显示一个带有照片的窗口,但尚未添加按钮,但这应该没问题。我目前担心的是,它每次对照片进行排序时都会打开一个新窗口,就好像窗口是照片而不是照片是窗口的一部分一样。我将在下面发布我凌乱的代码,但我们将不胜感激。请记住,我是一个完整的 python 初学者,我唯一类似的经验是在 C# 中。
import os
import shutil
import tkinter as tk
import PIL
from PIL import ImageTk, Image
source = 'C:\\Source\\'
for file in os.listdir(source):
root = tk.Tk()
root.geometry("1920x1080")
photo = Image.open(source+file).resize((750,500), Image.ANTIALIAS)
img = ImageTk.PhotoImage(photo)
panel = tk.Label(root, image = img)
panel.image = img
panel.pack(side = "top", fill = "both")
print('Enter Destination Directory')
dest = input()
shutil.move(source+file, dest)
root.destroy()
解决方案
您需要在主循环root
之外定义和销毁变量。for
每次循环时,都会创建一个新tk.Tk
对象,然后将其销毁。
推荐阅读
- javascript - OpenLayers:将地图锁定到矢量的范围
- python - 如何在 polyfit() 的权重的两个变量中包含错误
- python-3.x - 从 base64 编码的文本文件中提取帧(视频)
- reactjs - 延迟图像完美加载,但当它们重新出现在视口中时必须突然重新加载
- javascript - 如何在Javascript中以百分比的机会从多个数组中获取一个随机对象?
- flutter - 添加事件不会更新 BlocBuilder
- sql - 获取最大序列
- user-interface - 如何在 GTK3 应用程序中使用 GcrSecureEntryBuffer?
- javascript - React.js:组件在第一次使用 onChange 函数中的 2 个函数后没有更新,使用 Context API
- c# - 如何检查特定的韩文字符是否是音节的一部分?