Kodomo

Пользователь

Задачи

Создайте в репозитории для задач модуль task4.py. В нём:

  1. Загрузите в питон примеры из лекций. Разберитесь, как ими пользоваться. Добейтесь, чтобы они действительно работали.
  2. Опишите функцию-декоратор logging, которая пишет сообщения: "Defined function %s", "Entered function %s", "Left function %s" (где в качестве "%s" подставляется имя функции). Для проверки, все последующие функции в модуле должны быть декорированы функцией logging.

  3. Опишите функцию-декоратор retry(n, delay=1.0), которая пытается вызвать декорированную функцию, если она выбрасывает исключение, делает паузу delay секунд (см. time.sleep) и пытается заново – и так n раз. Последний раз декоратор пропускает исключение, выброшенное декорированной функцией.

  4. С использованием этих декораторов, опишите функцию pdb_header(code), которая скачивает PDB (например, из http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=%s; пример: import urllib; file = urllib.urlopen(url); lines = [file.next(), file.next(), file.next()]) и распечатывает его заголовки (первые три строки).