【问题标题】:Desktop organizer using python using glob, os, shutil and tkinter使用 glob、os、shutil 和 tkinter 使用 python 的桌面管理器
【发布时间】:2020-09-01 08:14:41
【问题描述】:

我制作了这个桌面管理器,它获取相同类型的文件并将它们放入一个文件夹中,但现在它只将 1 个文件移动到该文件夹​​中,我想将其全部移动。

代码:

import glob, os
import shutil
import tkinter as tk

def png():
    os.chdir("/Users/19379/Desktop")
    for file in glob.glob("*.png"):
            print(file)
            os.makedirs("PNG Pictures")
            shutil.move(file,"PNG Pictures")


def mp3():
    os.chdir("/Users/19379/Desktop")
    for file in glob.glob("*.mp3"):
        print(file)
        os.makedirs("mp3 ")
        shutil.move(file,"mp3")

def jpeg():
    os.chdir("/Users/19379/Desktop")
    for file in glob.glob("*.jpg"):
        print(file)
        os.makedirs("jpeg")
        shutil.move(file,"jpeg")

def mp4():
    os.chdir("/Users/19379/Desktop")
    for file in glob.glob("*.mp4"):
        print(file)
        os.makedirs("mp4 ")
        shutil.move(file,"mp4")

root = tk.Tk()
frame = tk.Frame(root)
frame.pack()

png1 = tk.Button(frame,
                    text="PNG",
                    fg="red",
                    command=png)
png1.pack(side=tk.LEFT)

mp31 = tk.Button(frame,
                    text="MP3",
                    fg="red",
                    command=mp3)
mp31.pack(side=tk.LEFT)

jpeg1 = tk.Button(frame,
                    text="JPEG",
                    fg="red",
                    command=jpeg)
jpeg1.pack(side=tk.LEFT)

mp41 = tk.Button(frame,
                    text="MP4",
                    fg="red",
                    command=mp4)
mp41.pack(side=tk.LEFT)

root.mainloop()

【问题讨论】:

  • ` os.makedirs("PNG Pictures")` 不应该在 for 循环中。我猜你只想要这个文件夹一次?

标签: python macos tkinter operating-system desktop-application


【解决方案1】:

您在循环中创建目录而不需要在循环中创建它们(它不能在同一路径中创建具有相同名称的两个文件夹)。我建议你做的是将行移到循环之前,或者在运行之前创建文件夹,因为无论如何你都希望你的文件在同一个文件夹中。 这可能会导致暂停进程的错误,这就是它只移动一个文件的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多