Форум сайта python.su
0
По идеи, данный скрипт читает файл, удаляет ненужное, а затем отправляет данные тем, кто остался.
Но скрипт не работает. Что делать?
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
fd.close()
sys.exit(main(sys.argv))
from email.mime.multipart import MIMEMultipart
sender = 'login@yandex.ru'
smtp = SMTP_SSL()
smtp.connect('smtp.yandex.ru')
smtp.login('login@ya.ru', 'password')
receivers = open('users.csv', 'r').readlines()
for i in receivers:
receivers = i.split(';')
receivers = receivers[0]
msg = MIMEMultipart()
msg['Subject'] = 'The list domains: Hi! I'm Mrs. Brown!'
msg['From'] = sender
msg['To'] = receivers
smtp.sendmail(sender, receivers, msg.as_string())
smtp.quit()
adasd@gmail.com;01.01.12
dad@ya.ru;01.01.12
qweqw@gmail.com;05.01.11
eqwe@ya.ru;01.01.11
Офлайн
568
vlados,
не работает - понятие обширное,
ошибку пишет какую-нибудь?
Офлайн
25
vladosНаучиться думать головой например - а не просто копировать код.
Что делать?
Офлайн
0
Ну, ошибок нет.
s0rgИнтересный вариант, спасибо :) Но в где ошибка? Хоть намекните в чем?
Научиться думать головой например - а не просто копировать код.
Офлайн
25
В коде ошибки нет - она в логике, намекну - код который должен отправлять, вообще не запускается.
Офлайн
0
Что-то я не нашел…
#!/usr/bin/env python
# -*- coding: utf8 -*-
from email.mime.multipart import MIMEMultipart #импорт
sender = 'login@yandex.ru' #отправитель
smtp = SMTP_SSL() # ссл
smtp.connect('smtp.yandex.ru') # подключение
smtp.login('login@ya.ru', 'password') # авторизация
receivers = open('users.csv', 'r').readlines() # открываем и делаем массив с строками
for i in receivers: #кладем по строчке
receivers = i.split(';') # обрезаем
receivers = receivers[0] # берем первый элемент(почта)
msg = MIMEMultipart() # подключаем
msg['Subject'] = 'The list domains: Hi! I'm Mrs. Brown!' # тема
msg['From'] = sender # от
msg['To'] = receivers # к
smtp.sendmail(sender, receivers, msg.as_string()) # отправка
smtp.quit() # закрытие
Отредактировано (Янв. 16, 2012 16:28:33)
Офлайн
0
Help me! :(
Офлайн
17
Еще подсказка: обрати внимание на строку
sys.exit(main(sys.argv))
Офлайн