Анимация
JavaScript
|
Главная Библионтека 30.2. ConfigParser - чтение конфигурационных файлов 413 DuplicateSectionError Раздел с таким именем (атрибут section экземпляра исключения) уже существует. NoOptionError Опция с указанным именем (атрибут option экземпляра исключения) не найдена в указанном разделе (атрибут section). InterpolationError Проблемы при раскрытии специальной последовательности вида %(mmh)s (атрибут reference экземпляра исключения, имена раздела и опции доступны через атрибуты section и option). InterpolationDepthError Достигнута максимальная глубина рекурсии (max INTERP0LATI0N DEPTh) при раскрытии специальных последовательностей в значении опции (имена раздела и опции доступны через атрибуты section и option экземпляра исключения). MissingSectionHeaderError Конфигурационный файл не содержит заголовков. Имя файла, номер строки и сама строка, в которой обнаружена ошибка, доступны через атрибуты filename, lineno и line экземпляра исключения. ParsingError Ошибка при анализе конфигурационного файла. Атрибут filename экземпляра исключения содержит имя конфигурационного файла и атрибут errors - список пар из номера и содержимого строки для всех строк, в которых обнаружены ошибки. Экземпляры класса ConfigParser имеют следующие методы: defaults() Возвращает отображение со значениями по умолчанию. sections() Возвращает список имен доступных разделов. Имя DEFAULT в список не включается. add section( section) Добавляет раздел с именем section. Если раздел с таким именем уже существует, генерируется исключение DuplicateSectionError. has section( section) Возвращает 1, если есть раздел с именем section, иначе возвращает 0. Имя раздела default не распознается. options( section) Возвращает имен доступных опций в разделе section. has option( section, option) Возвращает 1 , если существует раздел с именем section и содержит опцию с именем option, иначе возвращает 0. Этот метод доступен, начиная с версии 1.6. read( filenames) Считывает и обрабатывает конфигурационные файлы. Аргумент filenames может быть списком имен файлов или строкой, содержащей имя одного файла. readfp( fp [, filename]) Считывает и обрабатывает конфигурационный файл, представленный файловым (или подобным) объектом fp (должен иметь метод readline()). Аргумент filename используется в качестве имени файла в сообщениях об ошибках. Если аргумент filename не задан, используется fp.name или <???>, если объект fp не имеет атрибута name. get (section, option [, raw [, vars]]) Возвращает значение опции option в разделе section. Если аргумент raw опущен или является ложью, метод get() раскрывает специальные последовательности, начинающиеся с символа % . При этом принимаются во внимание значения по умолчанию, переданные конструктору и этому методу в качестве аргумента vars. Значения, указанные в отображении vars имеют преимущество над значениями по умолчанию, переданными конструктору. getint( section, option) Возвращает значение опции option в разделе section в виде целого числа. getfloat( section, option) Возвращает значение опции option в разделе section в виде вещественного числа. getboolean( section, option) Возвращает значение опции option в разделе section в виде целого числа 0 или 1 . В конфигурационном файле значение опции должно быть указано строкой 0 или 1 , во всех остальных случаях генерируется исключение ValueError. set( section, option, value) Если существует раздел с именем section, устанавливает в нем значение опции option равным value. Если аргумент section является ложью или равен строке DEFAULT, value запоминается как значение опции option по умолчанию. В остальных случаях генерируется исключение NoSectionError. Метод set() доступен, начиная с версии 1.6. write( fp) Записывает текущее состояние объекта в конфигурационный файл, представленный файловым (или подобным) объектом fp. Этот метод доступен, начиная с версии 1.6. remove option( section, option) Удаляет опцию option из раздела section. Если аргумент section является ложью или равен строке DEFAULT, удаляет значение опции option по умолчанию. 30.3. shlex - простой синтаксический анализатор 415 В остальных случаях, если раздел section отсутствует, генерируется исключение NoSectionError. Если опция присутствовала, возвращает 1, иначе возвращает 0. Метод remove option() доступен, начиная с версии 1.6. remove section( section) Полностью удаляет раздел section. Если раздел присутствовал, возвращает 1 , иначе возвращает 0 . 30.3 shlex - простой синтаксический анализатор Класс shlex, определенный в этом модуле, значительно упрощает написание синтаксических анализаторов для командных языков с простым синтаксисом, подобных UNIX shell. Такая возможность часто полезна для написания мини-языков, используемых, например, для написания конфигурационных файлов (см. также описание модуля ConfigParser). shlex( [stream [, file]]) Инициализирует и возвращает объект, представляющий лексический анализатор. Аргумент stream должен быть файловым объектом (или подобным, с методами read() и readline() ) и определяет поток ввода анализатора, по умолчанию используется sys.stdin. Если задан аргумент file, он определяет имя файла (используется для инициализации атрибута infile). Экземпляры класса shlex имеют следующие методы: get token() Возвращает очередную лексему. Лексема может быть считана из стека (если она была записана туда с помощью метода push token() ) или из входного потока. При достижении конца файла возвращает пустую строку. push token( str) Записывает строку str в качестве лексемы в стек. read token() Считывает из входного потока (игнорируя стек) и возвращает очередную лексему. Этот метод также игнорирует запросы на включения файла. sourcehook( filename) Этот метод вызывается для обработки запросов на включение файла. Аргумент filename является строкой, следующей за лексемой включения файла (атрибут source). Метод sourcehook() должен возвращать кортеж, содержащий имя файла и файловый (или подобный) объект. 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 |