Быстрый в изучении - мощный в программировании
 

Выполнение запроса в SQLite3 через Python

Согласно спецификации DB-API 2.0 после создания объекта соединения необходимо создать объект-курсор. Все дальнейшие запросы должны производиться через этот объект. Создание объекта-курсора производится с помощью метода cursor(). Для выполнения запроса к базе данных предназначены следующие методы объекта-курсора:

close() - закрывает объект-курсор

executescript(<Запросы SQL через точку с запятой>) - выполняет несколько SQL запросов за один раз. Если в процессе выполнения запросов возникает ошибка, то метод возбуждается исключение. В качестве примера создадим базу данных и три таблицы в ней:

# -*- coding: utf-8 -*-
import sqlite3
con = sqlite3.connect("catalog.db")
cur = con.cursor()	# Создаем объект-курсор
sql = """\
CREATE TABLE user (
	id_user INTEGER PRIMARY KEY AUTOINCREMENT,
	email text,
	passw text
);
 
CREATE TABLE rubr (
	id_rubr INTEGER PRIMARY KEY AUTOINCREMENT,
	name_rubr TEXT
);
 
CREATE TABLE site (
	id_site INTEGER PRIMARY KEY AUTOINCREMENT,
	is_user INTEGER,
	id_rubr INTEGER,
	url TEXT,
	title TEXT,
	iq INTEGER
);
"""
 
try:	# обработка исключения
	cur.executescript(sql) # Выполняем SQL-запрос
except sqlite.DatabaseError, err:
	print u"Ошибка:", err
else:
	print u"Запрос успешно выполнен"
cur.close()	# Закрываем объект-курсора
con.close()	# Закрываем соединение
raw_input()
Далее...

Отправка SMS через Python

Отправка SMS Python

Для сайтов с объявлениями всегда появляется необходимость отправить смс сообщение на мобильный телефон создателя объявления. Настало время показать как через Python можно отправить SMS сообщения на мобильные телефоны. Скажу сразу халявы нет, т.к. я буду использовать сервис SMSintel из за его низких цен на отправку SMS. У сервиса довольной большой арсенал стран которых он поддерживает и весьма вкусные условия сотрудничество. Если вы какая либо фирма которая хочет отправить массовые рассылки своим клиентам, то можно договориться с сервисом SMSintel на более низкие цены.

Можно расширить функционал скрипта до класса, чтобы получить сколько денег на счете и разную информацию об аккаунте. Но, такие решения зачатую бессмысленные и все,что от нас требуется это надежная доставка SMS и уверенность, что сообщение дошло до нашего клиента. Скрипт из данной статьи можно использовать и для рассылки SMS на несколько номеров. Номера мы будем хранить в текстовом документа, но это не мешает вам усовершенствовать скрипт работая в пару с MySQL базой.

Далее...

Создание и открытие базы данных SQLite в Python

SQLite python

Для создания и открытия базы данных используется функция connect(). Функция имеет следующий формат:

connect(database[, timeout][, isolation_level][, detect_types][, factory])

В параметре database указывается абсолютный или относительный путь к базе данных. Если база данных не существует, то она просто открывается без удаления имеющихся данных. Вместо пути к базе данных можно указать значение :memory:, которое означает, что база данных будут удалены.

Все остальные параметры являются необязательными и могут быть указаны в произвольном порядке путем присвоения значения названию параметра. Необязательный параметр timeout задает время ожидания снятия блокировки с открываемой базы данных. По умолчанию значение параметра timeout равно пяти секундам. Предназначение остальных параметров мы рассмотрим немного позже.

Далее...

Создание сайта. О чем нужно помнить

Создание сайта. О чем нужно помнить
Сколь ни странно, по сей день одна из причин неадекватных дизайнерских решений – потребность клиента максимально «украсить» свой сайт. До сих пор многие пользователи связывают избыточный веб-дизайн страниц со стоимостью предложенной дизайнером услуги, следовательно – состоятельностью владельца, его уверенностью в своем деле. На деле же очень часто подобный подход способен скорее лишать этой уверенности.

На самом деле, если вы хотите, чтобы на ваш сайт приходила целевая аудитория, вам стоит позаботиться об этом уже на этапе его проектирования. Итак, несколько дизайнерских решений, которые ассоциируются с современными оформительскими тенденциями, но не способствуют продвижению сайта.

Далее...

Базовые языки программирования

Базовые языки программирования
Сегодня человечество уже не мыслит свою жизнь без компьютера. Играть в компьютерные игры, знакомиться с друзьями в социальных сетях, работать в прикладных программах – стало обычным делом. Всё это связано с работой специального программного обеспечения. Для его написания требуется знание особого языка понимаемого компьютером – языка программирования.

Насчитывается несколько десятков основных языков программирования. Одни придуманы для создания только определённого вида программного обеспечения, на других можно написать практически любое. Но существуют и родоначальники. Кратко ознакомимся с основными экземплярами.

Далее...

Основы SQLite - С чего начать?

SQLite Python

В предыдущих статьях мы рассматривали работу с файлами и научились сохранять объекты с доступом по ключу с помощью модуля shelve. При сохранении объектов этот модуль использует возможности модуля pickle для сериализации объекта и модуль anybm для записи получившейся строки по ключу в файл. Если необходимо сохранять в файл просто строки, то можно сразу воспользоваться модулем anybm. Однако если объем сохраняемых данных велик и требуется удобный доступ к ним, то вместо этого модуля лучше использовать базы данных.

Начиная с версии 2.5, в состав стандартной библиотеки Python входит модуль sqlite3, позволяющий работать с базой данных SQLite. Для использования этой базы данных нет необходимости устанавливать сервер, ожидающий запросы на каком-либо порту, т.к. SQLite напрямую работает с файлом базы данных.

Далее...

Доступ к базе данных SQLite из Python

python sqlite3

Модуль sqlite3, входит в состав стандартной библиотеки Python, начиная с версии 2.5, и в дополнительной установке не нуждается. Если необходимо получить доступ к SQLite в предыдущих версиях Python, то следует воспользоваться модулем pysqlite. Этот модуль не входит в состав стандартной библиотеки, поэтому его придется устанавливать отдельно.

Для работы с базами данных в языке Python существует единый интерфейс доступа. Все разработчики модулей, осуществляющих связь базы данных с Python, должны придерживаться спецификации DB-API (DataBase Application Program Interface). Это спецификация более интересна для разработчиков модулей, чем для прикладных программистов, поэтому мы не будем ее подробно рассматривать.

Модуль sqlite3 поддерживает спецификацию DB-API 2.0, а так же предоставляет некоторые нестандартные возможности. Поэтому, изучив методы и атрибуты этого модуля, вы получите достаточно подробное представление о спецификации DB API 2.0 и сможете в дальнейшем работать с другой базой данных. Получить номер спецификации, поддерживаемой модулем, можно с помощью атрибута apilevel:

Далее...

Заправка принтера

Пятница, 7 февраля 2014 г.   Archy

Заправка принтера

В наш век цифровой техники, принтер – незаменимая вещь, которая должна присутствовать в каждом доме. Он может понадобиться и при печати служебных документов, при печати курсовых студентам, а как приятно распечатать фотографию, сделанную недавно на телефон или фотоаппарат! Единственная беда – заправка картриджей. Самостоятельно это делать довольно сложно, да и отмываться потом от краски не очень приятно. Зачем такие страдания, если можно легко заправить принтер в мастерской, затратив при этом не более 15 минут.

Далее...

Создание базы данных SQLite в Python

создание базы sqlite

Попробуем создать новую базу данных в SQLite. Запускаем командную строку. Для этого в меню Пуск выбираем пункт Выполнить. В открывшемся окне набираем команду cmd и нажимаем кнопку ОК. Откроется черное окно, в котором будет приглашение для ввода команд. Переходим в папку C:\book, выполнив команду:

cd C:\book

В командной строке должно быть приглашение:

C:\book

По умолчанию в консоли используется кодировка cp866. Чтобы сменить кодировку на cp1251, в командной строке вводим команду:

chcp 1251

Далее...

Модуль shelve в Python - сохранение объектов в файл

Модуль shelve в Python

Модуль shelve Python позволяет сохранять объекты под определенный ключом (задается в виде строки) и определяется интерфейс доступа, сходный со словарями. Для сериализации объекта используется возможности модуля pickle, а чтобы записать получившуюся строку по ключу в файл , применяется модуль anydbm. Все эти действия модуль shelve производит незаметно для нас. Чтобы открыть файл с базой объектов, используется функция open(). Функция имеет следующий формат:

open(<Путь к файлу>[, flag="c"[, protocol=None[, writeback=False]]])

В необязательном параметре flag можно указать один из режимов открытия файла:

  • r - Только для чтения
  • w - чтение и запись
  • c - чтение и запись (значение по умолчанию). Если файл не существует, он будет создан.
  • n - чтение и запись. Если файл не существует, он будет создан. Если файл существует, он будет перезаписан.

Функция open() возвращает объект, с помощью которого производится дальнейшая работа с базой данных. Этот объект имеет следующие методы:

close() - закрывает файл с базой данных. В качестве примера создадим файл и сохран6им в нем список кортежа.

>>> import shelve
>>> db = shelve.open("file2.txt")
>>> db['language'] = ['ru', 'rn', 'ua']
>>> db['colors'] = ['red', 'blue', 'green']
>>> db['language'], db['colors']
(['ru', 'rn', 'ua'], ['red', 'blue', 'green'])
>>> db.close()
Далее...