Найти - Пользователи
Полная версия: Помогите с реализацией
Начало » Python для новичков » Помогите с реализацией
1
vlados
Всем привет,
у меня есть файл users.cvs, в который имеет такую структуру(user;date):
lamigo;27.09.2011
dmx;12.04.2011
tony;14.11.2011
...
house;10.01.2012
Мне нужно сделать скрипт, который посредством дерганья через курл удалял аккаунты(строку) которые уже зарегистрированы 30 дней, например house, он зарегистрирован 10.01.2012, то есть я буду дергать файл(скрипт на питоне, который удаляет строки) который удаляет так же другие строки, и после 30 дней он удаляет аккаунт.
Я понимаю нужно делать так:
Парсим файл, достаем дату из файла и берем сегодняшнюю дату и сверяем их, если прошло с записаной даты уже 30 дней, то удаляем файл, если нет, то оставляем.
Но как такое реализовать даже и не знаю…

Заранее спасибо за помощь!
s0rg
Как-то так:
#!/usr/bin/env python
#coding: utf8

import sys
from datetime import datetime, timedelta

INPUT_CSV='users.csv'
MAX_DAYS=30

def is_outdate(row, max_days=timedelta(days=MAX_DAYS)):
user_date = row.split(';')
if len(user_date) != 2:
return False
date = datetime.strptime(user_date[1], '%d.%m.%Y')
return datetime.now() - date < max_days

def main(args):
with open(INPUT_CSV,'r+') as fd:
rows = filter(is_outdate, map(lambda a: a.strip(), fd))
fd.seek(0)
fd.truncate(0)
fd.write('\n'.join(rows))
return 0

sys.exit(main(sys.argv))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB