Огляд скриптовых мов - Python
Приклади збереження даних Приклади збереження данихУ порівнянні з pickle або YAML для ініціалізації роботи з ZODB потрібно написати на парі рядків програмного коду більше, але як тільки сховище...
Контактні дані Київ, Мясницкая вул., 35
Телефон: +38 (044) 997 - 93 - 19
Факс: +38 (044) 999 - 99 - 91
Служба аутентификации
Складання звіту на основі файлів журналів Apache: У цей час частка веб-сервера Apache становить приблизно 50 відсотків від всіх веб-серверів в Інтернеті. Ціль наступного приклада полягає в тому, щоб показати вам спосіб складання звітів на основі файлів журналів веб-сервера Apache. У цьому прикладі розглядається тільки частина інформації, доступної у файлах журналів Apache, але ви можете використовувати описуваний підхід для витягу будь-яких даних, що втримуються в цих файлах журналів.

Даний підхід можна легко адаптувати для роботи з величезними файлами даних і для роботи з більшим числом даних. У цьому прикладі ми повторно скористаємося модулями, написаними для глави 3, щоб продемонструвати, як створювати удобочитаемые звіти з одного або більше файлів журналів. Крім обробки всіх файлів журналів, список яких визначається окремо, ви можете вказати цьому сценарію, що він повинен об'єднати файли журналів і створити єдиний звіт.

На самому початку сценарію визначаються дві функції: open_files і combine_lines. Пізніше обидві ці функції будуть використовуватися в генераторах для спрощення програмного коду. Функція open_f iles -це функція-генератор, що приймає список (у дійсності - будь-який итерируемый об'єкт) імен файлів. Для кожного ім'я файлу вона створює кортеж з ім'я файлу й відповідного йому об'єкта відкритого файлу. Функція combine_lines приймає итерируемые об'єкти відкритих файлів у вигляді єдиного аргументу.

Вона виконує обхід об'єктів файлів у циклі for. Для кожного файлу виконується обхід рядків у цьому файлі. І на кожній ітерації вона -за допомогою інструкції yield - повертає черговий рядок. Итерируемый об'єкт, одержуваний від функції combine_lines, можна зрівняти з файлом: ми можемо виконувати обхід рядків у цьому об'єкті. Потім за допомогою модуля opt parse виконується розбір аргументів командного рядка, отриманих від користувача. Ми будемо приймати тільки два аргументи, обоє - логічного типу: ознака об'єднання файлів журналів і ознака необхідності використовувати бібліотеку регулярних виражень.

Параметр consolidate повідомляє сценарій, що всі файли повинні бути об'єднані при складанні звіту. Якщо сценарію передається цей параметр, ми, у деякому змісті, виконуємо конкатенацію вмісту файлів. Але до цього ми ще повернемося. Обидві вони пропонують ідентичні функціональні можливості, але бібліотека "split" працює швидше. Потім перевіряється, чи був зазначений параметр regex. Якщо параметр був зазначений, то імпортується модуль apache_log_parser_regex. У противному випадку використовується модуль apache_log_parser_split.
Служба аутентификации Служба аутентификацииОдне із самих удалих визначень, з якими нам доводилося зіштовхуватися, приводиться у Википедии: "прикладний протокол, що дозволяє звертатися до служби каталогів, що працює поверх протоколу TCP/IP". Як приклад...
Веб додатка Веб додаткаОдне з поліпшень, яке можна було б внести в цей додаток, -це реалізувати сортування в порядку, зворотному поточний. Зробити це досить просто, але ми залишимо реалізацію цієї можливості читачам. Як ще одне поліпшення...
Запуск сценарію Запуск сценаріюЦе в точності відповідає нашим очікуванням. Тепер спочатку спробуємо запустити сценарій, що додає новий запис, а потім знову запустимо сценарій, що витягає дані. Цей приклад ідентичний попередньому прикладу, де використовувався метод store,...
Створення звітів Створення звітівКрім того, ми могли б розширити цей сценарій і відшукувати запису з обсягом використання 80 відсотків, 70 відсотків і видавати попередження по досягненні цих рівнів. Такий сценарій легко можна було б об'єднати, наприклад, с...
 
(c) Copyright