Генераторы словарей и модули Рython
Функции в языке Python Функции в языке PythonВсе функции в языке Python возвращают какое-либо значение, хотя вполне возможно (и часто так и делается) просто игнорировать это значение. Возвращаемое значение может быть единственным значением или кортежем значений,...
Реализация генераторов Реализация генераторовМы рассмотрели коллекции-последовательности, tuple, collections, na-medtuple и list, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания...
Парсинг документов XML Парсинг документов XMLXML: Для парсинга документов XML широко используются два основных подхода. Один из них основан на анализе DOM (Document Object Model -объектная модель документа), а другой - на использовании SAX (Simple API for XML - упрощенный...
Копирование коллекций Копирование коллекцийКопирование коллекций: Поскольку в языке Python повсюду используются ссылки на объекты, когда выполняется оператор присваивания (=), никакого копирования данных на самом деле не происходит. Если справа от оператора находится литерал,...
Программа make_ html_skeletonpy
Пример: makeJitml_skeleton.py: Очень маленькие веб-сайты часто создаются и обслуживаются вручную. Один из способов облегчить эту работу состоит в том, чтобы написать программу, которая будет генерировать заготовки файлов HTML, которые позднее будут наполняться содержимым.

Программа make_ html_skeleton.py выполняется в интерактивном режиме, она запрашивает у пользователя различные сведения и затем создает заготовку файла HTML. Обратите внимание, что при создании второй заготовки имя и год получили значения по умолчанию, введенные ранее, поэтому пользователю не пришлось вводить их вторично. Но для имени файла значение по умолчанию отсутствует, поэтому, когда имя файла не было указано, процедура создания заготовки была прервана.

Модуль datetime предоставляет ряд простых функций для создания объектов datetime.date и datetime.time. Модуль xml.sax.saxutils содержит удобную функцию xml.sax.saxutils.escapeO, которая принимает строку и возвращает эквивалентную ей строку, в которой специальные символы языка разметки HTML ("&", "") замещаются их эквивалентами ("& ", "< " и "> ").

Далее определяются три глобальные строки, которые используются в качестве шаблонов. Затем определяется нестандартное исключение; мы встретимся с ним в паре функций программы. Функция main программы устанавливает некоторые начальные значения и входит в цикл. На каждой итерации пользователю предлагается ввести некоторую информацию о странице HTML, которая будет сгенерирована, и после создания каждой страницы предоставляется возможность завершить программу.

Функция datetime.date.todayO возвращает объект datetime.date, который хранит текущую дату. Нам требуется лишь значение атрибута year этого объекта. Во все остальные элементы данных записывается значение None, так как для них не существует разумных значений по умолчанию. В цикле while программа выводит заголовок и вызывает функцию populate_information , передавая ей словарь information.

Внутри функции populate_information производится заполнение этого словаря. Затем вызывается функция make_html_skeleton , она принимает большое число аргументов, но чтобы явно не указывать значение каждого из них, мы просто распаковываем словарь information. Если пользователь прерывает процесс создания заготовки страницы, например, отказом от ввода обязательного значения, программа выводит сообщение "Cancelled" (отменено).
Навигация: 1 2 3
 
 
© Copyright