Различия между версиями 8 и 9
Версия 8 от 2012-02-14 14:52:53
Размер: 3845
Редактор: FrBrGeorge
Комментарий:
Версия 9 от 2012-02-15 12:21:42
Размер: 3915
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 17: Строка 17:
   * Написать генератор    * Написать генератор     * [[attachment:sort_tape.py]]
Строка 27: Строка 28:
   * [[attachment:notepickle.py]]

Системные каталоги, системное время, понятие об исключениях

  • Поиск модулей в sys.path

  • Кроссплатформенная работа с файлами с помощью os.path: os.path.exists(), os.path.join(), os.path.split() и. т. п

  • Общее, системное и пользовательское время (os.times()).

  • {o} Утилиты time и top

  • Использование исключений

Домашнее задание

  1. {i} Прочитать в учебнике — об исключениях, в документации — про os.path, os.times и sys.path

  2. {i} {*} Прочитать про модуль os, там много полезного для работы с системой

  3. Дорешать задачу сортировки магнитной ленты

  4. С помощью os.times() модифицировать измеритель скорости так, чтобы он измерял настоящую скорость работы (учитывал собственно, а не общее время). Можно измерять скорость работы другой функции, например, sort()

  5. Развить задачу «Записная книжка». В списке хранятся различные объекты Python, которые можно в него добавлять с клавиатуры (используется input()). Напишите программу, которая сохраняет ввод в файл, если видит специальную завершающую последовательность, и восстанавливает данные оттуда при последующем запуске.
    • Использовать input() и тот факт, что допустимо вводить любые Python-выражения, в том числе именя определённых в тексте программы функций.

    • Задать функции:
      • Quit() — для выхода из программы с записью в файл

      • List(начало,конец) — для просмотра списка (оба параметра необязательны, по умолчанию — весь список)

      • Delete(начало,конец) — для удаления элемента списка (или нескольких, если задан второй необязательный параметр)

    • Обработать некорректный ввод при помощи «try: … except:»

      • В случае, когда это возможно (например, при возникновении NameError) ошибку не выводить, а считать введённое строкой

    • notepickle.py

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2012-02-08 (последним исправлял пользователь FrBrGeorge 2012-02-15 12:21:42)