使用 python 使用 glob、os、shutil 和 tkinter 的桌面管理器
Desktop organizer using python using glob, os, shutil and tkinter
我制作了这个桌面管理器,将相同类型的文件放入一个文件夹,但现在它只将 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()
您正在循环创建目录而不需要在循环中创建它们(它不能在同一路径中创建两个具有相同名称的文件夹)。我建议您做的是将行移到循环之前,或者在 运行 之前创建文件夹,因为无论如何您都希望文件位于相同的文件夹中。
它可能导致暂停进程的错误,这就是它只移动一个文件的原因。
我制作了这个桌面管理器,将相同类型的文件放入一个文件夹,但现在它只将 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()
您正在循环创建目录而不需要在循环中创建它们(它不能在同一路径中创建两个具有相同名称的文件夹)。我建议您做的是将行移到循环之前,或者在 运行 之前创建文件夹,因为无论如何您都希望文件位于相同的文件夹中。 它可能导致暂停进程的错误,这就是它只移动一个文件的原因。