Сегодня мы будем учиться открывать и читать содержимое файлов, используя Python 2.7. И начнем с самого простого примера – выведем на экран содержимое текстового файла. При этом будем использовать интерактивный сценарий с запросом у пользователя имени того или иного файла.

Если вы забыли о том, что такое интерактивный сценарий, как его написать, повторяем урок 16.

 

Практический пример

Создаем на рабочем столе текстовый файл test15_text.txt и вписываем в него следующий текст:

Итоговая таблица КХЛ выглядит таким образом.
На первом месте - Авангард.
На втором месте - АкБарс.
На третьем месте - СКА.

Сохраняем текстовый файл в кодировке OEM 866. Это нужно для того, чтобы на экране выводились кириллические буквы, а не кракозябры. Как сохранить: в программе Notepad++ нажимаем вверху на: Кодировки - Кодировки -Кириллица - OEM 866.

Далее создаем на рабочем столе файл test15.py Пишем в него руками следующий программный код:

# -*- coding: utf- 8 -*-

from sys import argv

script, file = argv

text = open(file)

print u"Отрываем содержимое файла %r:" % file
print text.read()

print u"И снова введите имя файла с текстом:"
file_snova = raw_input("> ")

text_snova = open(file_snova)

print text_snova.read()


Итак, начало файла мы уже знаем – мы разбирали переменную argv в предыдущих уроках – здесь и здесь.
Далее следует команда open (), с помощью которой мы и открываем наш файл file, и содержимое которого мы присваиваем переменной text.

Далее выводим просто текст на экран «Отрываем содержимое файла….» И с помощью команды read() выводим переменную text, то есть читаем содержимое текстового файла test15_text.txt

Итак, две команды в этом уроке:

open () - открывает файл

read() - читает содержимое файла

Напоминаю, что %r - это оператор форматирования, вспоминаем операторы форматирования в уроке 10.

 

После этого попробуем сделать то же самое, но уже с помощью команды raw_input("> ") Напомню, что эта команда прописывается для создания интерактивного сценария (подробнее об этом в уроке 16). Смотрите, в этом случае мы не прописываем в сценарии название текстового файла, а предлагаем пользователю в интерактивном режиме ввести название этого файла. Это более гибкий вариант открытия файлов в Python, запомните эти два варианта, особенно второй – это пригодится вам в дальнейшей работе.

 

Теперь открываем программу PowerShell и прописываем команду:
python desktop/test15.py desktop/test15_text.txt
Далее программа вас попросит снова ввести имя файла, вы вводите desktop/test15_text.txt

В итоге у вас должно получиться следующее:

 

 

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

Попробуйте выполнить сценарий написания программы, состоящий только из первой части (с использованием переменной argv) или только из второй части – с использованием команды raw_input("> ")

 

В следующем уроке мы разберем еще несколько команд для работы с файлами - перейти в урок 20