Решение модуля 17.4 Поколение Python: для продвинутых

Модуль 17.4 (Работа с текстовыми файлами. Часть 2) курса «Поколение Python: курс для продвинутых» курс расскажет о:

  1. Запись данных в файл
  2. Файловые методы write() и writelines()

Публикуем решения на урок 17.4 Работа с текстовыми файлами. Часть 2

Текстовый файл words.txt содержит следующие строки:

python c#
c++
pascal

Каким будет содержимое этого файла после выполнения программы?

with open(‘words.txt’, ‘w’) as file:
file.write(‘delphi+’)
file.write(‘java’)

delphi+java

Текстовый файл names.txt содержит следующие строки:
Timur
Roman
Ruslan
Oleg

Каким будет содержимое этого файла после выполнения программы?

with open(‘names.txt’, ‘a’) as file:
file.write(‘\n’)
file.write(‘Michael\n’)
file.write(‘Alexander’)

Timur
Roman
Ruslan
Oleg
Michael
Alexander

Текстовый файл artists.txt содержит следующие строки:
John Lennon
Bob Dylan
Stevie Wonder

Каким будет содержимое этого файла после выполнения программы?

with open(‘artists.txt’, ‘r+’) as file:
file.write(‘Mick Jagger\n’)
file.write(‘Ace Canon\n’)

Mick Jagger
Ace Canon
Stevie Wonder

Каким будет содержимое файла words.txt после выполнения программы?

with open(‘words.txt’, ‘w’) as output:
print(‘stepik’, ‘beegeek’, ‘iq-option’, sep=’*’, end=’+\n’, file=output)
print(‘python’, file=output)

stepik*beegeek*iq-option+
python

Каким будет содержимое файла beegeek.txt после выполнения программы?

with open(‘beegeek.txt’, ‘w’) as file:
file.writelines([‘Добро пожаловать в Beegeek!\n’, ‘Наши курсы самые лучшие! ‘])
file.write(‘Позвоните нам: (916) 928-92xx’)

Добро пожаловать в Beegeek!
Наши курсы самые лучшие! Позвоните нам: (916) 928-92xx

Небольшая «область временного хранения» в оперативной памяти, куда многие операционные системы пишут данные перед тем, как записать их в файл, это 


буфер

Напишите программу, которая считывает строку текста и записывает её в текстовый файл output.txt.

with open('output.txt', 'w') as output:
    output.write(input())

Напишите программу, записывающую в текстовый файл random.txt 25 случайных чисел в диапазоне от 111 до 777 (включительно), каждое с новой строки.

from random import randint

with open('random.txt', 'w') as file:
    arr = [str(randint(111, 777)) + '\n' for i in range(25)]
    file.writelines(arr)

Вам доступен текстовый файл input.txt, состоящий из нескольких строк. Напишите программу для записи содержимого этого файла в файл output.txt в виде нумерованного списка, где перед каждой строкой стоит ее номер, символ ) и пробел. Нумерация строк должна начинаться с 1.

arr = []
counter = 1

with open('input.txt') as file:
    for line in file.readlines():
        arr.append(str(counter) + ') ' + line)
        counter += 1

with open('output.txt', 'w') as file:
    file.writelines(arr)

Вам доступен текстовый файл class_scores.txt с оценками за итоговый тест на строках вида: фамилия оценка (фамилия и оценка разделены пробелом). Оценка — целое число от 0 до 100 включительно.

Напишите программу для добавления 5 баллов к каждому результату теста и вывода фамилий и новых результатов тестов в файл new_scores.txt.

arr = []

with open('class_scores.txt') as file:
    for line in file.readlines():
        arr.append(line.strip().split()[0] + ' ' + str(int(line.strip().split()[1]) + 5 if int(line.strip().split()[1]) < 95 else 100) + '\n')

with open('new_scores.txt', 'w') as file:
    file.writelines(arr)

Вам доступен текстовый файл goats.txt в первой строке которого написано слово COLOURS, далее идет список всех возможных цветов козлов. Затем идет строка со словом GOATS, и далее непосредственно перечисление козлов разных цветов. Перечень козлов включает только строки из первого списка.

Напишите программу создания файла answer.txt и вывода в него списка козлов, которые удовлетворяют условию загадки от Жака Фреско.

with open('goats.txt', 'r', encoding='utf-8') as file, open('answer.txt', 'w', encoding='utf-8') as answer:
    lst = []
    for string in file.read().split('GOATS'):
        lst.append(string.strip('COLOURS').strip('\n').strip(' goat ').split(' goat\n'))
    for c in lst[0]:
        if lst[1].count(c) > len(lst[1]) * 0.07:
            print(f'{c} goat', file=answer)

На вход программе подается натуральное число n и n строк с названиями файлов. Напишите программу, которая создает файл output.txt и выводит в него содержимое всех файлов с указанными именами, не меняя их порядка.

n = int(input())
result = ''

for i in range(n):
    with open(input()) as file:
        result += file.read()
    
with open('output.txt', 'w') as file:
    file.write(result)

Вам доступен текстовый файл logfile.txt с информацией о времени входа пользователя в систему и выхода из нее. Каждая строка файла содержит три значения, разделенные запятыми и символом пробела: имя пользователя, время входа, время выхода, где время указано в 24-часовом формате.

Напишите программу, которая создает файл output.txt и выводит в него имена всех пользователей (не меняя порядка следования), которые были в сети не менее часа.

import io

result = []

with io.open('logfile.txt', encoding='utf-8') as file:
    for line in file:
        name = line.strip().split(', ')[0]
        startTime = line.strip().split(', ')[1]
        endTime = line.strip().split(', ')[2]
        if int(endTime.split(':')[0]) - int(startTime.split(':')[0]) > 1:
            result.append(name + '\n')
        if int(endTime.split(':')[0]) - int(startTime.split(':')[0]) == 1 and int(endTime.split(':')[1]) - int(startTime.split(':')[1]) >= 0:
            result.append(name + '\n')

with open('output.txt', 'w') as file:
    file.writelines(result)

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector