Добрый день. Я сейчас прохожу курс повышения квалификации - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?
|
Основные стандартные модули Python
Обработка текстов
Модули этой категории будут подробно рассмотрены в отдельной лекции.
Многопоточные вычисления
Модули этой категории станут предметом рассмотрения отдельной лекции.
Хранение данных. Архивация
К этой категории отнесены модули, которые работают с внешними хранилищами данных.
Модуль pickle
Процесс записи объекта в виде последовательности байтов называется сериализацией. Для того чтобы сохранить объект во внешней памяти или передать его по каналам связи, его нужно вначале сериализовать.
Модуль pickle позволяет сериализовывать объекты и сохранять их в строке или файле. Следующие объекты могут быть сериализованы:
- встроенные типы: None, числа, строки (обычные и Unicode).
- списки, кортежи и словари, содержащие только сериализуемые объекты.
- функции, определенные на уровне модуля (сохраняется имя, но не реализация!).
- встроенные функции.
- классы, определенные на уровне модуля.
- объекты классов, __dict__ или __setstate__() которые являются сериализуемыми.
Типичный вариант использования модуля приведен ниже.
Сохранение:
import pickle, time mydata = ("abc", 12, [1, 2, 3]) output_file = open("mydata.dat", "w") p = pickle.Pickler(output_file) p.dump(mydata) output_file.close()
Восстановление:
import pickle input_file = open("mydata.dat", "r") mydata = pickle.load(input_file) print mydata input_file.close()
Модуль shelve
Для хранения объектов в родном для Python формате можно применять полку (shelve). По своему интерфейсу полка ничем не отличается от словаря. Следующий пример показывает, как использовать полку:
import shelve data = ("abc", 12) # - данные (объект) key = "key" # - ключ (строка) filename = "polka.dat" # - имя файла для хранения полки d = shelve.open(filename) # открытие полки d[key] = data # сохранить данные под ключом key # (удаляет старое значение, если оно было) data = d[key] # загрузить значение по ключу len(d) # получить количество объектов на полке d.sync() # запись изменений в БД на диске del d[key] # удалить ключ и значение flag = d.has_key(key) # проверка наличия ключа lst = d.keys() # список ключей d.close() # закрытие полки
Модули anydbm и gdbm
Для внешнего хранения данных можно использовать примитивные базы данных, содержащие пары ключ-значение. В Python имеется несколько модулей для работы с такими базами: bsddb, gdbm, dbhash и т.п. Модуль anydbm выбирает один из имеющихся хэшей, поэтому его можно применять для чтения ряда форматов ( any - любой).
Доступ к хэшу из Python мало отличается от доступа к словарю. Разница лишь в том, что хэш еще нужно открыть для создания, чтения или записи, а затем закрыть. Кроме того, при записи хэш блокируется, чтобы не испортить данные.
Модуль csv
Формат CSV (comma separated values - значения, разделенные запятыми) достаточно популярен для обмена данными между электронными таблицами и базами данных. Следующий ниже пример посвящен записи в CSV-файл и чтению из него:
mydata = [(1, 2, 3), (1, 3, 4)] import csv # Запись в файл: f = file("my.csv", "w") writer = csv.writer(f) for row in mydata: writer.writerow(row) f.close() # Чтение из файла: reader = csv.reader(file("my.csv")) for row in reader: print row