Академия Eduson

Работа с текстовыми файлами. Часть 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()