Добавить в корзинуПозвонить
Найти в Дзене
Old Programmer

Программирование на языке Python. Статья 1 (обработка текстовых файлов)

Мой канал Old Programmer, а здесь: Программирование. Тематическое оглавление моего Zen-канала (Old Programmer). А здесь материалы по Python. Начинаю серию статей по работе с файлами на Python. Серию, потому что материала не мало и он очень важный (вся информация хранится в файлах). Ранее я не много касался уже вопросов работы с файлами здесь. Кроме того интересен материал в статьях, касающихся модуля os: Основные операции с текстовыми файлами Сегодня поговорим о чтении и записи текстовых файлов. Работе с текстовыми файлами будет посвящена как минимум еще одна статья. И так начнем. При работе с файлами в первую очередь следует обратить внимание на четыре операции: Остальное можно пока пропустить, оно не играет большой роли. Обратимся к программе, представленной в 300.py. Хочу отметить, что все имена файлов я ввожу в командной строке. О модуле sys смотрим в статье: Программирование на языке Python. Не много о модуле sys. Но напомню, что sys.argv -это массив параметров командной строк
Оглавление

Мой канал Old Programmer, а здесь: Программирование. Тематическое оглавление моего Zen-канала (Old Programmer). А здесь материалы по Python.

  • Список разделов канала Old Programmer, канала о программировании и программистах

Начинаю серию статей по работе с файлами на Python. Серию, потому что материала не мало и он очень важный (вся информация хранится в файлах). Ранее я не много касался уже вопросов работы с файлами здесь. Кроме того интересен материал в статьях, касающихся модуля os:

Основные операции с текстовыми файлами

Сегодня поговорим о чтении и записи текстовых файлов. Работе с текстовыми файлами будет посвящена как минимум еще одна статья.

И так начнем. При работе с файлами в первую очередь следует обратить внимание на четыре операции:

  • Открытие файла
  • Закрытие файла
  • Чтение из файла
  • Запись в файл

Остальное можно пока пропустить, оно не играет большой роли. Обратимся к программе, представленной в 300.py. Хочу отметить, что все имена файлов я ввожу в командной строке. О модуле sys смотрим в статье: Программирование на языке Python. Не много о модуле sys. Но напомню, что sys.argv -это массив параметров командной строки: sys.argv[1] - первый параметр, sys.arhv[2] и т.д.

Чтение из текстового файла в языке Python

В программе 300.py происходит чтение из текстового файла и вывод его на консоль. Открывается файл функцией open. Стоит приглядеться к ней по внимательней. В данном случае у ней два параметра: имя файла и режим открытия файла. Функция может иметь и третий параметр - кодировка файла, но мы это пока опускаем (см. впрочем, статью). Режим открытия 'r' означает, что файл открыт для чтения. По умолчанию он открывается именно как текстовый файл. Если файл открыт успешно, то метод readlines читает все строки файла, так что его можно использовать в цикле, как показано в программе в качестве итератора. Обращаю внимание, что строки считываются вместе с кодом перевода строки ('\n'), поэтому печать очередной строки осуществляется именно как print(t.strip()). Понятно, что при этом отбрасываются возможные пробелы слева и справа в строке, но в данном случае я и не ставлю задачу их сохранить. Метод close() файл закрывает.

В следующей программе мы показываем другой способ чтения из файла. Для этого используется метод readline(). Метод читает текущую строку, начиная с первой и переходит к следующей. По достижению конца файла метод начинает возвращать пустые строки, что дает нам возможность узнать, когда следует заканчивать читать из файла. Кроме того, метод может иметь аргумент - номер строки, которую следует прочесть, что может оказаться чрезвычайно удобным.

Копирование файлов на языке Python

Следующая программа осуществляет копирование текстового файла в другой текстовый файл (имя во втором параметре командной строки). Режим открытия 'w' - означает, что текстовый файл открывается для записи. Запись в текстовый файл осуществляется методом write. Который записывает в текстовый файл строку, включая код перевода строки, что приводит к точному копированию.

Обработка ошибок при работе с файлами

Надо иметь в виду, что работа с файлами предполагает наличие различного рода ошибок. Обработку ошибок лучше всего осуществлять с помощью конструкции try - except. Что показано в программе 300c.py, которая является видоизменением программы 300b.py. В частности, если на входе указать имя не существующего файла, то на консоль будет выдано сообщение об ошибке и программа закончит свою работу.

Разбирать работу с файлами продолжим в следующем уроке.

Пока! Работаем с Python и подписываемся на мой канал Old Programmer.

Вы не поставили лайк?

Фрагмент программы  300c.py
Фрагмент программы 300c.py