Архив метки: python

Отправка сообщения на email по smtp, в utf8 с телом в html

import smtplib   
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

		 msg = MIMEMultipart('alternative')
		 html_body="Внимание! У вас есть задача (№"+str(id)+") в sbss, которая уже длительное время находится в статусе ожидания! Через 3 дня она будет автоматически закрыта.. <br/><a href=https://oeirfoeriferoife.ru>"+name+"</a>".encode('utf-8')
		 msg.set_charset("utf-8")
		 msg['Subject'] = "Уведомление о длительной задаче №"+str(id);
		 msg['From'] = sbss_from_email
		 msg['To'] = m_arr["email"]		 
		 part = MIMEText(html_body, 'html', 'UTF-8')
		 msg.attach(part)
		 s = smtplib.SMTP(sbss_from_server)
		 s.login(sbss_from_email,sbss_from_pass);
		 s.set_debuglevel(1);
		 s.sendmail(sbss_from_email, m_arr["email"], msg.as_string())
		 s.quit()

Изучаем Python. Запросы Mysql

Вот пример программы, для получения данных из БД Mysql. Синтаксис конечно не очень — как то чуть более сложнее по сравнению с PHP. Чуть позже попробую создать класс для работы с MySQL, добавив чуть больше «сахара».

# -*- coding: utf-8 -*-
import mysql.connector
from mysql.connector import Error
                
name='Павел';
print("Hello ",name);

try:
    conn = mysql.connector.connect(host='localhost',database='grib',user='root',password='')
    if conn.is_connected(): print('Вроде соеденился!')
except Error as e:
    print(e);
    exit(0);    

cursor = conn.cursor()
cursor.execute("SELECT * FROM wp_posts");
row = cursor.fetchone()
while row is not None:
    print(row)
    row = cursor.fetchone()
conn.close()

Изучаем Python. Грабли №2

Как оказалось, установив питон, под Windows мы не имеем сразу возможности работать с MySQL. Для этого нужно найти, скачать и установить дополнительный модуль. Поиск по гуглу дал два самых популярных:  MySQLdb и официальный от MySQL . Первый — скачал установил — не заработал. Видимо еще нужно было еще какие-то манипуляции проводить. Второй — заработал сам, сразу после установки. Итак пробуем:

# -*- coding: utf-8 -*-
import mysql.connector
from mysql.connector import Error

def connect():    
    try:
        conn = mysql.connector.connect(host='localhost',database='grib',user='root',password='')
        if conn.is_connected(): print('Вроде соеденился!')
    except Error as e:
        print(e)
    finally:
        conn.close()
        
name='Павел';
print("Hello ",name);
connect();

Установка модулей для работы с MySQL на Ubuntu:

sudo apt-get install python-mysql.connector

FreeBSD:

pkg install py27-mysql-connector-python

Изучаем python. Первые грабли..

pythonlogoНачал на досуге по немногу изучать питон. Вот первые грабли при компиляции Hello Word! 😉

name='Павел';
print("Hello ",name);

Выводит ошибку:  SyntaxError: Non-UTF-8 code starting with ‘\xcf’ in file C:\Users\Павел\Documents\NetBeansProjects\NewPythonProject\src\test.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

Решение: первой строчкой файла добавить

# -*- coding: utf-8 -*- 

Т.е. всегда нужно указывать в какой кодировке файл. Зачем? Вопрос пока открыт.