Найти - Пользователи
Полная версия: Не работает скрипт
Начало » Python для новичков » Не работает скрипт
1
vlados
По идеи, данный скрипт читает файл, удаляет ненужное, а затем отправляет данные тем, кто остался.
Но скрипт не работает. Что делать?
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
FishHook
vlados,
не работает - понятие обширное,
ошибку пишет какую-нибудь?
s0rg
vlados
Что делать?
Научиться думать головой например - а не просто копировать код.
vlados
Ну, ошибок нет.
s0rg
Научиться думать головой например - а не просто копировать код.
Интересный вариант, спасибо :) Но в где ошибка? Хоть намекните в чем?
s0rg
В коде ошибки нет - она в логике, намекну - код который должен отправлять, вообще не запускается.
vlados
Что-то я не нашел…
#!/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() # закрытие
vlados
Help me! :(
agalen
Еще подсказка: обрати внимание на строку
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