Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 16, 2012 15:05:33

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

По идеи, данный скрипт читает файл, удаляет ненужное, а затем отправляет данные тем, кто остался.
Но скрипт не работает. Что делать?

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()
users.csv:
adasd@gmail.com;01.01.12
dad@ya.ru;01.01.12
qweqw@gmail.com;05.01.11
eqwe@ya.ru;01.01.11



Офлайн

#2 Янв. 16, 2012 15:26:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не работает скрипт

vlados,
не работает - понятие обширное,
ошибку пишет какую-нибудь?



Офлайн

#3 Янв. 16, 2012 15:31:30

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Не работает скрипт

vlados
Что делать?
Научиться думать головой например - а не просто копировать код.

Офлайн

#4 Янв. 16, 2012 15:58:24

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

Ну, ошибок нет.

s0rg
Научиться думать головой например - а не просто копировать код.
Интересный вариант, спасибо :) Но в где ошибка? Хоть намекните в чем?



Офлайн

#5 Янв. 16, 2012 15:59:41

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Не работает скрипт

В коде ошибки нет - она в логике, намекну - код который должен отправлять, вообще не запускается.

Офлайн

#6 Янв. 16, 2012 16:24:11

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

Что-то я не нашел…

#!/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)

Офлайн

#7 Янв. 16, 2012 18:50:16

vlados
От:
Зарегистрирован: 2011-07-28
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает скрипт

Help me! :(



Офлайн

#8 Янв. 17, 2012 15:27:09

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Не работает скрипт

Еще подсказка: обрати внимание на строку

sys.exit(main(sys.argv))
в середине кода



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version