Работа с текстовыми файлами. Часть 1
Работа с текстовыми файлами, чтение данных
Соотнесите режим доступа к файлу с его описанием.
- r открыть файл только для чтения;
- w открыть файл для записи в самое начало;
- a открыть файл для записи в конец;
- r+ открыть файл для чтения и записи;
- x создать файл
Режимом доступа и обработки по умолчанию при открытии файла с помощью функции open() является:
Ответ: rt: чтение из текстового файла
Текстовый файл с именем dog_breeds.txt находится в той же папке, где и исполняемая программа. Какими способами можно открыть данный файл для чтения в текстовом режиме?
Ответ: open('dog_breeds.txt', 'r'); open('dog_breeds.txt', 'rt'); open('dog_breeds.txt')
Бинарный файл с именем jack_russell.png находится в той же папке, где и исполняемая программа. Каким образом можно открыть данный файл для чтения?
Ответ: open('jack_russell.png', 'rb')
Чтобы сделать работу с файлами универсальнее, в путях файлов в python-программах рекомендуется ставить:
Ответ: прямой слеш (/)
Верно ли, что Python автоматически закроет файл после успешного завершения программы (когда удаляется последняя ссылка на файловый объект)?
Ответ: да
С помощью какого файлового метода можно прочитать полностью содержимое текстового файла в виде строки?
Ответ: read()
Какой тип данных возвращает файловый метод readlines()?
Ответ: список строк
Какой строковый метод нужно использовать, чтобы удалить символ перехода на новую строку при построчном считывании содержимого текстового файла?
Ответ: rstrip()
На вход программе подается строка с именем текстового файла. Напишите программу, которая выводит на экран его содержимое.
text = input() file = open(text, 'r') print(file.read()) file.close()
На вход программе подается строка с именем текстового файла. Напишите программу, которая выводит на экран его предпоследнюю строку.
text = open(input()) print(text.readlines()[-2]) text.close()
Вам доступен текстовый файл lines.txt из нескольких строк. Напишите программу, которая выводит на экран случайную строку из этого файла.
from random import * text = open('lines.txt') print(choice(text.readlines())) text.close()
Вам доступен текстовый файл numbers.txt из двух строк, на каждой из них записано целое число. Напишите программу, выводящую на экран сумму этих чисел.
text = open('numbers.txt') summ = 0 for s in text.readlines(): summ += int(s) print(summ) text.close()
Вариант покороче:
text = open('numbers.txt') print(sum(map(int, text))) text.close()
Вам доступен текстовый файл nums.txt. В файле записано два целых числа, они могут быть разделены символами пробела и конца строки. Напишите программу, выводящую на экран сумму этих чисел.
text = open('nums.txt') print(sum(map(int, text.read().split()))) text.close()
Вам доступен текстовый файл prices.txt с информацией о заказе из интернет магазина. В нем каждая строка с помощью символа табуляции (\t) разделена на три колонки:
- наименование товара;
- количество товара (целое число);
- цена (в рублях) товара за 1 шт (целое число).
Напишите программу, выводящую на экран общую стоимость заказа.
text = open('prices.txt') summ = 0 for line in text.readlines(): arr = line.split() summ += int(arr[1]) * int(arr[2]) print(summ) text.close()