Выбор накопительного водонагревателя (бойлера)

выбор накопительного водонагревателя

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

Читать

Подвесной потолок в ванной комнате

В помещениях с постоянно изменяющейся влажностью, например, в ванной комнате наиболее практичным вариантом является использование материалов, не подверженных воздействию влаги. Рассмотрим применение  ПВХ-панелей в ванной комнате на примере монтажа подвесного потолка. Выбор ПВХ-панелей не случаен, т.к. при огромном их разнообразии легко решаются самые смелые дизайнерские идеи.

подвесной потолок в ванной комнате

Возьмем для примера ванную комнату размером 2,07×1,7 м, совмещенную с туалетом. Для ее освещения будем использовать четыре светодиодных точечных светильника, а для комфортного принятия водных процедур в потолок вмонтируем акустическую систему.

Читать

Выдающиеся персидское средство для лечения геморроя

Множество веков персы используют для лечения геморроя дымные ванны. В качестве основных компонентов выступает чеснок или же колючки, которые являются излюбленным лакомством верблюдов. Техника исполнения дымной ванны проста.
 Берется небольшой металлический бидон, на его дно укладывается раскаленный камень или кирпич, и на этот кирпич насыпают измельченный чеснок или бросают верблюжьи колючки. Когда чеснок начнет дымить нужно будет подставить больное место под действие целебного дыма. Этот метод избавления от геморроя позволяет очень быстро справиться с недугом.

Хватит использовать “print” для отладки: пятиминутное введение в модуль logging Python’а (Перевод)

  • Это руководство короткое
  • Для поиска ошибок в коде Вы можете использовать print для просмотра значений переменных
  • НЕ делайте этого. Используйте модуль logging
Модуль logging предпочтительнее, так как:
  • Легко можно поместить указатель времени в каждое сообщение
  • Вы можете использовать разные уровни срочности ваших сообщений и фильтровать их по этому уровню
  • Когда Вы захотите позже найти / изменить лог-сообщения Вы не перепутаете их с другим выводом команды print
  • Если Вы хотите вывести лог в файл, то очень легко будет игнорировать вывод лог-сообщений
Использование pirnt подходит для тех программистов, у которых достаточно времени. Но лучше использовать logging. Кроме того, научитесь использовать отладчик Python для отладки ошибок и Pylint для предотвращения появления ошибок и для того, чтобы сделать код более читаемым.
Для того, чтобы отобразить лог-сообщения на экране, используйте такой код:

import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a log message.')

Для того, чтобы записывать логи в файл подходит такой код (отличие от предыдущего варианта выделено жирным):

import logging
logging.basicConfig(filename='log_filename.txt',level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a log message.')

Следующий запуск программы добавит лог-сообщения к концу лог-файла, а не перезапишет его.
Для того, чтобы отобразить сообщения и записать их в файл, используйте этот код:

import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
fh = logging.FileHandler('log_filename.txt')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(formatter)
logger.addHandler(ch)
logger.debug('This is a test log message.')

Убедитесь, что переменная logging глобальная, так что её смогут видеть все функции (использовать в них gloval logger не нужно, так как эта переменная только для чтения, не для записи и изменения).

Уровни логирования, от более срочных до менее срочных:
  1. CRITICAL
  2. ERROR
  3. WARNING
  4. INFO
  5. DEBUG
Вызов setLevel() устанавливает минимальный уровень логирования, нужный Вам. Например, если Вы используете fh.setLevel(logging.ERROR), тогда будут сообщения  с уровнем WARNING, INFO и DEBUG не будут записываться в файл (так как fh - обработчик лог-файла в нашем примере, в отличие от ch, который обрабатывает логи для отображения на экране).
Для записи сообщен
ий разного уровня используйте
:
  1. logger.critical('This is a critical message.')
  2. logger.error('This is an error message.')
  3. logger.warning('This is a warning message.')
  4. logger.info('This is an informative message.')
  5. logger.debug('This is a low-level debug message.')
На самом деле Вы можете делать гораздо больше, но это всё, что Вам надо знать, чтобы больше не использовать print для отладки программ.
Кроме того, функция pprint.pprint() хороша для вывода словарей и списков, особенно вложенных. Попробуйте и увидите.

Последний совет: Вы можете использовать команду tail -f logfile.txt чтобы посмотреть файл, куда будет записываться информация. Опция -f означает “follow (следовать)”. Просто оставьте окно терминала открытым с запущенной командой, и в нем автоматически будет появляться записываемый в файл текст. Этот способ избавит Вас от необходимости открывать текстовый редактор.
Команда tail присутствует на Mac OS X и Linux / *nix. На Windows Вы можете использовать для её получения проект Cygwin.

Автор: Ishayahu Lastov

Сумка с цветами

Сумка с цветами

Вот и пришло лето, пора ярких модных футболок и креативных сумок. Сегодня изготовим необычную сумку с цветами из ткани, которая прекрасно подойдет к любому летнему наряду.

Сумка с цветами

Читать

Итальянские столовые и кабинеты

Итальянская мебель – ведущее направление в мебельном производстве. Относится оно, по большей части, к элитному сегменту.

итальянские кухни классика

Практически во всех моделях и видах итальянской мебели используются только ценные породы дерева, дорогие металлы и прочие качественные материалы. Подразделить итальянскую мебель можно на два направления: выполненную в современном и классическом стилях. Первая больше подойдет для домашней обстановки, кухни, зала и прочих жилых помещений, вторая – для официальной и рабочей атмосферы, личного кабинета. Современная мебель выполняется во много более аскетичном стиле – она проста, имеет четкие геометрические формы и изготавливается из качественных материалов.

Читать