Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Доступ к базе данных 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:

Далее...

Создание базы данных 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()
Далее...

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

Понедельник, 20 января 2014 г.   Archy , ,

Модуль pickle Python

Сохранить объекты в файл и в дальнейшем восстановить объекты из файла позволяют модули pickle и shelve. Модуль pickle предоставляет следующие функции:

dump(<Объект>, <Файл>[, <Протокол>]) - производит сериализацию объекта и записывает данные в указанный файл. В параметре <Файл> указывается файловый объект, открытый для записи. Ниже продемонстрирован способ сохранения объекта в файл.

>>> import pickle
>>> f = open(r'file.txt', 'wb')
>>> obj = ["Строка", (2, 3)]
>>> pickle.dump(obj, f)
>>> f.close()

load(<Файл>) - читает сохраненные данные из файла и преобразует их в объект. В параметре <Файл> указывается файловой объект, открытый для чтения. Пример восстановления объекта из файла.

Далее...

Joxi - как делать скриншоты?

как сделать скриншот на компьютере

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

Для того, чтобы ускорить передачу ваших скриншотов или других важных файлов, возможен вход в популярные социальные сети, среди которых ВКонтакте и Facebook. На форумах и других сайтах эти фотографии также могут появиться посредствам удобной вставки специального кода. Словом, сервис Joxi предоставит вам максимум возможностей, которыми можно будет управлять при помощи минимальных усилий.

Далее...

Как защитить Python-код от модификации?

Как защитить Python-код

Многие задаются вопросом - как скрыть исходный код написанных на питоне скриптов, чтобы затем можно было например продавать эти скрипты. В своё время и мы задались этим вопросом, в следствии чего со временем нашли его решение.

Можно было бы просто отдавать клиентам байт-код, который создает python при первом запуске скрипта. Например, запустили test.py, рядом появился test.pyc, его и продаем. Однако в сети есть скрипты, которые восстанавливают из него исходный код с точностью до байта.

Поэтому, чтобы закрыть сорцы скрипта - его надо скомпилировать. Для этого, с помощью расширения cython его можно перевести в Си код, который и скомпилировать обычными инструментами, вроде make.

Рассмотрим решение пошагово:

- Конвертируем python-скрипт в Си:

cython -3 СКРИПТ.py

Получаем СКРИПТ.c - это исходный код python-модуля, который выполняет то же самое что и питон-скрипт.

Далее...

Права доступа к файлам и каталогам

Права доступа к файлам и каталогам

В операционной системе Unix для каждого объекта (файла или каталога) назначаются права доступа для каждой разновидности пользователей - владельца, группы и прочих. Могут быть назначены следующие права доступа: чтение, запись, выполнение.

Права доступа обозначаются буквами:

r - файл можно читать, а содержимое каталога можно просматривать.

w - файл можно модифицировать, удалить и переименовать, а в каталоге можно создать или удалить файлы. Каталог можно переименовать или удалить.

x - файл можно выполнить, а в каталоге можно выполнить операции над файлами, в том числе производить поиск файлов в нем.

Права доступа к файлу определяются записью типа:

-rw-r--r--

Далее...

Сервер HP ProLiant DL160 Gen8

Сервер HP ProLiant

Недавно столкнулся с задачей обеспечить клиента сервером с большим объемом RAM, но с ограниченным количеством дисков. По техническому заданию сервер должен быть способным передавать в Интернет данные со скоростью 10-15 Гбит в секунду. Раньше для этой цели мы покупали сервера HP DL180 G6, имеющий размер 2U и 25 под HDD/SSD. Но сейчас задача стояла немного другая, и мы решили испытать новый HP Proliant DL 160, 8-го поколения.

Некоторые данные о HP DL 160 G8:

  • 24 слота для памяти DDR III;
  • 8 × 2,5” HDD/SSD;
  • поддержка до 384 Гб RAM;
  • контроллер новой модели Р420 – 1 Гб памяти и BBU;
  • возможность добавления дополнительного NIC-модуля, не занимая при этом слота PCLe (к примеру, с портами 10 Гбит/сек);
  • полно размерный слот PCLe X16.
Далее...

Методы для работы со словарями в Python

Методы для работы со словарями

Для работы со словарями предназначены следующие методы:

keys() и values() - позволяют получить список всех ключей и значений соответственно:

>>> d = {'a': 1, 'b': 2}
>>> k = d.keys(); v = d.values()
>>> print k, v
['a', 'b'] [1, 2]

Можно также воспользоваться методами iterkeys() и itervalues(), которые возвращают не список ключей и значений, а итератор. Пример:

>>> d = {'a': 1, 'b': 2}
>>> for i in d.iterkeys(): print i,
a b
 
>>> for i in d.itervalues(): print i,
1 2

Далее...

Перебор элементов словаря dict() в Python

Перебор элементов словаря

Перебрать все элементы списка можно благодаря циклу for, но словари Python не являются последовательностями. В качестве примера выведем элементы словаря двумя методами. Первый способ использует метод keys(), возвращающий список всех ключей словаря. Второй способ появился в последних реализах Python. В этом случае мы просто указываем словарь в качестве параметра. На каждой интерации цикла будет возвращаться ключ, с помощью которого внутри цикла можно получить значение, соответствующее этому ключу.

Перебор элементов словаря

# -*- coding: utf-8 -*-
cars = {
    'BMW': 'x5',
    'Mercedes-Benz': 'E220',
    'Audi': 'Q7'
}
 
for key in cars:
    print "%s -> %s" % (key, cars[key])
 
print '-' * 15
print 'Пример 2'
print '-' * 15
 
for key in cars.keys():
    print "%s -> %s" % (key, cars[key])

Далее...