我在目录中有一个名为model/year(当前年份)/month(当前月份)/date(当前日期)Example model/2023/01/24/mm.parquet, model/25/02/1998/mm.parquet
的文件。
所以有几十个文件在我的目录上,所以我想删除文件,这是30天以上。例如,如果最新的文件是今天的日期2023/03/01,那么文件是30天以上,即2023/02/01应被删除。
import datetime
from datetime import datetime
# now=str(datetime.now().date())
import pandas as pd
def cleanup_model_output( days_to_keep ):
path='C://Users/anubhav.sharma02/Downloads/21-01-1998.xlsx'
date_of_file= int(path.split('/')[-1][0:2])
now=str(datetime.now().date())
a=int(now.split(',')[0][-2:])
subtract=abs(a-date_of_file)
if subtract > days_to_keep:
os.remove('C://Users/anubhav.sharma02/Downloads/21-01-1998.xlsx')
有谁能帮我一下吗?我无法做出逻辑
1条答案
按热度按时间yzuktlbb1#
考虑到删除依赖于文件路径(
root/year/month/date/file.parquet
)的文件的需求。根据您的代码,我理解您能够从数据库访问本地文件,并希望删除本地文件。我做了同样的文件从存储帐户。你可以尝试同样的代码,这也为你工作。
首先,我将存储帐户挂载到我的容器
data
中,这是我的文件夹结构。现在,我将删除文件夹
25
内的文件(例如超过过去6天)。首先使用下面的代码获取所有文件列表:
现在,建立所需的文件路径阵列使用日期像下面根据您的要求.
现在,根据以上两个列表,删除
all_paths
中的文件,而不是req_paths
中的文件,如下所示。结果: