Объединение 2 словарей в Python

Posted by & filed under python.

Объединение 2 словарей: a.update(b); Если ключи совпадают, то будет перезаписан значением из b. Пример: >>> a={‘a’:’1′,’b’:’2′} >>> b={‘b’:’3′,’c’:’4′} >>> a.update(b) >>> a {‘a’: ‘1’, ‘c’: ‘4’, ‘b’: ‘3’}

Не используй глобальные переменные

Posted by & filed under python.

Размышления. Почему в функцию должны передаваться все параметры, а не использовать глобальные? Да потому что если захочешь эту функцию вызвать из другого класса (модуля), то её уже стоит поместить в отдельный модуль, а тут связь с глобальными переменными (переменными класса  и т.д.) рушится

Нижний регистр переменных в хранимых функциях (PostgreSQL, plpythonu)

Posted by & filed under PostgreSQL.

Пример: CREATE OR REPLACE FUNCTION myschema.find_available(num_State integer) RETURNS SETOF integer AS $BODY$ plan0= plpy.prepare(«SELECT id,start_available, stop_available FROM «Flat» WHERE state=$1″,[«integer»]) rv=plpy.execute(plan0,[num_State]) … BODY$ LANGUAGE ‘plpythonu’ VOLATILE … Выдает сообщение DETAIL: <type ‘exceptions.NameError’>: global name ‘num_State’ is not defined Приводим переменную num_State к нижнему регистру ( num_state) и ошибки уже нет.

md5 в Python

Posted by & filed under python.

Делал логирование на сайте, сначала писал код так a= md5.new(«password»).digest() В результате значение «а» принимало бинарный(? незнаю как правильно сказать) вид и нельзя было записать в БД. Решение простое — нужно делать так: a= md5.new(«password»).hexdigest() Значение «а» можно писать в БД

Работа с e-mail в Python

Posted by & filed under python.

import smtplib from email.mime.text import MIMEText msg = MIMEText(‘Hello, this is message body’) msg[‘Subject’] = ‘Hello’ msg[‘From’] = ‘belstudent@yandex.ru’ msg[‘To’] = ‘petrov@petrov.ru’ s = smtplib.SMTP() s.connect(‘http://smtp.myhost.com’) # соединяемся с SMTP сервером s.login(‘login’,’password’) # авторизуемся s.sendmail(‘belstudent@yandex.ru’, [‘petrov@petrov.ru’], msg.as_string()) s.quit()