2017-02-13 31 views
2

我有中,提供的根目錄下麻煩來了一個方法安全地刪除所有,但最近創建或更新的文件夾。我有這樣的基本結構設置,但我不知道如何繼續從這裏:刪除所有但最新的文件夾中的Python

for root, folders, files in os.walk(output_folder): 
    for folder in folders: 

回答

1

這可能會爲你工作: -

import os 
import datetime as dt 
import shutil 


now = dt.datetime.now() 
ago = now-dt.timedelta(minutes=30) #Mention the required time 

for root, dirs,files in os.walk('/home/piyush/pppptest'): #put required directory path 
    for fname in files: 
     path = os.path.join(root, fname) 
     st = os.stat(path)  
     mtime = dt.datetime.fromtimestamp(st.st_mtime) #Gives you the modified time of file 
     # print mtime 
     if mtime > ago: 
      print('%s modified %s'%(path, mtime)) #You can check path and modified and work on it as per your requirement 
      shutil.rmtree('path') #You can delete it. 
1

你可以找到這樣

最新的文件夾
import os, shutil 

newest_folder = max(folders, key=os.path.getmtime) 

for fname in folders: 
    if fname != newest_folder: 
     shutil.rmtree(folder) 

根據您的具體要求,您可能需要使用getctime而不是getmtime

相關問題