Python 基本照片文件分拣机

Python 基本照片文件分拣机,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我目前是一名本科实习生工程师,希望为我工作场所的员工简化文件排序流程。我正在尝试制作一个python程序,该程序显示一个图像,并在下面有按钮,而不是在按下时将该照片移动到特定文件夹中 到目前为止,最大的困难是我没有python方面的经验,但这正是该公司所使用的,所以我被锁定在python中。我能够创建一个凌乱的程序,显示一个带有照片的窗口,我还没有添加按钮,但这应该没问题。我现在担心的是,每次对照片进行排序时,它都会打开一个新窗口,好像窗口就是照片,而不是照片是窗口的一部分。我会把我的乱七八糟的

我目前是一名本科实习生工程师,希望为我工作场所的员工简化文件排序流程。我正在尝试制作一个python程序,该程序显示一个图像,并在下面有按钮,而不是在按下时将该照片移动到特定文件夹中

到目前为止,最大的困难是我没有python方面的经验,但这正是该公司所使用的,所以我被锁定在python中。我能够创建一个凌乱的程序,显示一个带有照片的窗口,我还没有添加按钮,但这应该没问题。我现在担心的是,每次对照片进行排序时,它都会打开一个新窗口,好像窗口就是照片,而不是照片是窗口的一部分。我会把我的乱七八糟的代码贴在下面,但任何帮助都将不胜感激。请记住,我是一个完全的python初学者,我唯一类似的经历是在C#中


我认为它可能正在打开新窗口,因为您正在销毁root。

您需要在主
for
循环之外定义并销毁
root
变量。每次循环时,您都会创建一个新的
tk.tk
对象,然后销毁它。

问题是什么?在这种情况下,当根在循环之外时,它会将下一张照片添加到窗口中,而不是替换上一张照片。是否有方法刷新图像文件,使其更新到列表中的下一个图像?@BradyGale-此链接有帮助吗?
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()