我正在使用 Tkinter 創建一個檔案管理器。到目前為止,我已經創建了一種瀏覽檔案和檢查檔案夾中檔案的方法。我的問題是我試圖使用 Shutil 將過去 24 小時內修改或創建的檔案從一個源檔案夾移動到目標檔案夾。在我合并 Tkinter 之前,我使用 python 的代碼運行良好。現在它移動了我的整個檔案夾,而不僅僅是過去 24 小時內修改過的檔案。
任何幫助,將不勝感激!我是學生,所以我還在學習。
from tkinter import *
import shutil
import time
import os
from tkinter import filedialog
root = Tk()
root.title('File Manager')
root.geometry("300x250")
def select_folder():
src = filedialog.askdirectory()
def move_to():
src = filedialog.askdirectory()
SECONDS_IN_DAY = 24 * 60 * 60
now = time.time()
before = now - SECONDS_IN_DAY
def last_mod_time(fname):
return os.path.getmtime(fname)
for fname in os.listdir(src):
src_fname = os.path.join(src, fname)
if last_mod_time(src_fname) > before:
dst_fname = os.path.join(dst, fname)
dst = filedialog.askdirectory()
shutil.move(src, dst)
def file_check():
folderList = filedialog.askdirectory()
sortlist = sorted(os.listdir(folderList))
i=0
print("Files in ", folderList, "folder are:")
while(i<len(sortlist)):
print(sortlist[i] '\n')
i =1
select_button = Button(root, text="Select Folder", command= select_folder)
select_button.pack(pady=20)
move_button = Button(root, text="Move To Folder", command= move_to)
move_button.pack(pady=22)
check_button = Button(root, text="File Check", command= file_check)
check_button.pack(pady=24)
root.mainloop()
uj5u.com熱心網友回復:
shutil.move(src, dst)
你告訴它在那里移動目錄。我想你的意思是
shutil.move(src_fname, dst_fname)
您也有一些縮進問題。猜測你需要:
def move_to():
src = filedialog.askdirectory()
dst = filedialog.askdirectory()
SECONDS_IN_DAY = 24 * 60 * 60
now = time.time()
before = now - SECONDS_IN_DAY
def last_mod_time(fname):
return os.path.getmtime(fname)
for fname in os.listdir(src):
src_fname = os.path.join(src, fname)
if last_mod_time(src_fname) > before:
dst_fname = os.path.join(dst, fname)
shutil.move(src_fname, dst_fname)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/337155.html
