Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Основы алгоритмизации и программирования на Python

Чтение информации из текстового файла

Теперь рассмотрим, каким образом прочитать информацию, которая уже находится в текстовом файле. Для этого мы вновь воспользуемся оператором open, синтаксис которого останется тем же самым, за исключением значений параметра Режим доступа.

Задача 1. Разработайте программу, которая позволит прочитать информацию об автомобилях, содержащуюся в текстовом файле.

В операторе open("avto.txt", "г", encoding^utf-8') мы изменили только режим доступа. При записи в файл использовался режим Mw+M, сейчас "г", который, как было сказано выше, используется при чтении информации из файла. Метод read() с пустыми круглыми скобками используется по отношению к файловой переменной chtenie для чтения всей информации из файла. Далее методом close() мы закрываем файл. Код программы, с помощью которого мы прочитаем информацию из ранее созданного текстового файла, выглядит так, как он представлен в листинге 135.

Листинг 135

chtenie=open("avto.txt", "г", encoding='utf-8') print (chtenie.read())

chtenie.closeQ_

Результат работы программы представлен на рис. 143.

1$ Python 3.5.1 Shell

File Edit Shell Debug Options Window Help

Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on Win32 Type ncopyright", "credits" or "license))" for more information.

»>

RESTART: C:/изегз/Сергей/AppData/Local/Program s/Python/Python35-32/Mon проекты/Чтение из файл a.py Жигули 1990 белый Волга 1989 красный

»>

Ln

--ч

: 12 Col: 4 |

Рис. 143. Информация, прочитанная из файла

При работе с файлами возможно возникновение ошибок, связанных, например, с обработкой пути к файлу. Соответственно, такой тип ошибок можно перехватить, используя обработку исключений. Если предположить, что в указанном ниже примере (листинг 136) ошибочно задан путь к файлу avto.txt, то программа выдаст сообщение "Ошибка при открытии файла". Принципы работы конструкции try...except рассматривались нами в параграфе 2.2.

Листинг 136

try:

chtenie=open("c:Primeravto.txt", "г", encoding='utf-8') except:

ргіпД"Ошибка при открытии файла")_

else:

print (chtenie.read())

chtenie.closeQ_

Если в скобках метода read() указать значение, например десять (листинг 137), то с помощью такой записи можно будет прочитать десять символов строки. Вновь использованный в программе метод read(), с указанием какого-либо значения, например, пять (print (chtenie.read(5))), даст возможность прочитать следующие пять символов строки.

Листинг 137

chtenie=open("avto.txt", "г", encoding-utf-8')

print (chtenie.read(lO)) Считаем десять символов строки

print (chtenie.read(5)) Считаем следующие пять символов строки

chtenie.closeQ_

Если нужно прочитать некий текст, содержащийся в файле, построчно, то тогда следует использовать метод, отличие которого от метода read() заключается в том, что читать символы можно только в текущей строке. Обратите внимание: метод read() в закомментируемом ниже операторе (листинг 138) прочтет содержимое всего файла, между тем, как метод readline() прочтет только первую строку (рис. 144).

Листинг 138

chtenie=open("avto.txt", "г", encoding-utf-8')

#print (chtenie.read()) print (chtenie.readline())

chtenie.closeQ_

Python 3.5.1 Shell

Построчное чтение информации с помощью метода readline()

Рис. 144. Построчное чтение информации с помощью метода readline()

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы