? Анимация и создание сайтов
Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 [ 103 ] 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145

qsize ()

Возвращает количество элементов в очереди (в момент вызова метода). empty ()

Возвращает 1, если очередь (в момент вызова метода) пуста, иначе возвращает 0.

full()

Возвращает 1 , если очередь (в момент вызова метода) содержит максимальное количество элементов, иначе возвращает 0 .

put( item [, block])

Добавляет элемент в очередь. Если аргумент block опущен или является истиной, выполнение потока при необходимости приостанавливается до тех пор, пока в очереди не появится свободное место. Если аргумент block является ложью, элемент добавляется в очередь только, если это можно сделать немедленно, в противном случае генерируется исключение Full.

put nowait( item)

Эквивалентно вызову put(item, 0).

get( [block])

Извлекает (удаляет) элемент из очереди и возвращает его. Если аргумент block опущен или является истиной, выполнение потока при необходимости приостанавливается до тех пор, пока в очереди не появится элемент. Если аргумент block является ложью, элемент извлекается из очереди только, если это можно сделать немедленно, в противном случае генерируется исключение Empty.

get nowait ()

Эквивалентно вызову get(0) .

Не следует полагаться на значения, возвращаемые методами qsize(), empty() и full() : к моменту их получения ситуация может уже измениться.

Full

Исключения этого класса генерируются при попытке добавить в полную или заблокированную очередь элемент с помощью метода put nowait() (или put() с аргументом block равным нулю).

Экземпляры класса Queue имеют следующие методы:



Работа с базами данных

Модули, описанные в этой главе, предоставляют доступ к простым базам данных, реализуя интерфейс, аналогичным словарям. Во всех случаях в качестве ключа и значения могут использоваться только обычные строки1. Если Вы хотите хранить объекты языка Python другого типа, воспользуйтесь модулем shelve.

anydbm Универсальный интерфейс к базам данных в стиле DBM.

dumbdbm Медленная, но переносимая реализация интерфейса DBM.

dbhash Интерфейс в стиле DBM к библиотеке баз данных BSD. dbm Интерфейс к библиотеке (n)dbm.

gdbm Интерфейс к библиотеке gdbm.

whichdb Определяет, какой модуль с интерфейсом DBM был использован для создания файла базы данных.

bsddb Интерфейс к библиотеке баз данных BSD.

23.1 Интерфейс к базам данных в стиле DBM

Модуль anydbm предоставляет универсальный интерфейс в стиле DBM к различным вариантам баз данных: dbhash (требует наличие модуля bsddb), gdbm или dbm. Если ни один из этих модулей не доступен, будет использована медленная, но полностью переносимая реализация на языке Python в модуле dumbdbm.

Модуль dbhash доступен в операционных системах UNIX и Windows и предоставляет интерфейс в стиле DBM к библиотеке BSD db. Для работы этого модуля необходим модуль bsddb.

Модули dbm и gdbm доступны только в операционных системах UNIX.

Заметим, что форматы файлов, создаваемых различными модулями не совместимы друг с другом.

1Реализация некоторых из приведенных здесь модулей такова, что они позволяют использовать любые объекты с интерфейсом буфера. Однако использование этой возможности приведет к непереносимости базы данных, а также может привести к конфликтам ключей.



23.1.1 Общая для всех модулей часть интерфейса

Все перечисленные выше модули определяют функцию-конструктор и исключение:

open( filename [, flag [, mode]])

Открывает файл с именем filename базы данных и возвращает соответствующий ему объект. Если файл уже существует, функция anydbm.open() использует для определения его типа модуль whichdb и для файла используется соответствующий модуль. При создании нового файла anydbm.open() использует первый модуль из перечисленных выше, который может быть импортирован.

Аргумент flag может иметь одно из следующих значений: r

Открыть существующий файл только для чтения (используется по умолчанию).

Открыть существующий файл для чтения и записи.

Открыть файл для чтения и записи. Если файл не существует, он будет создан.

Создать новую пустую базу данных (старый файл перезаписывается) и открыть ее для чтения и записи.

В функции dbhash.open() на платформах, поддерживающих блокировку, к флагу может быть добавлен символ l , если блокировка должна быть использована. В функции gdbm.open() к флагу может быть добавлен символ f для открытия файла в "быстром" режиме: в этом случае измененные данные не будут автоматически записываться в файл при каждом внесении изменений (см. также описание метода sync() в разделе 23.1.3).

Аргумент mode указывает биты разрешений, которые будут установлены для файла, принимая во внимание маску разрешений (umask). По умолчанию используется 0666.

error

Класс исключений, которые генерируются в случае возникновения различных ошибок, характерных для данного модуля. Заметим, что если в базе данных отсутствует запись с определенным ключом, генерируется исключение KeyError.

Имя dbhash.error является псевдонимом для класса bsddb.error.

В модуле anydbm эта переменная ссылается на кортеж классов исключений, которые могут быть сгенерированы непосредственно модулем anydbm (первый элемент) или одним из модулей, реализующим доступ к базе данных. Это не вносит каких-либо неудобств, так как кортежи с классами исключений, указанные после ключевого слова except, могут быть вложенными произвольным образом.

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 [ 103 ] 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145