2017-02-13 67 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

相关问题