Работа с текстовыми файлами. Часть 3
Методы записи в файл «write()» и «writelines()»
Текстовый файл 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.
a = [] count = 1 with open('input.txt') as file: for line in file.readlines(): a.append(str(count) + ') ' + line) count += 1 with open('output.txt', 'w') as file: file.writelines(a)
Вам доступен текстовый файл class_scores.txt с оценками за итоговый тест на строках вида: фамилия оценка (фамилия и оценка разделены пробелом). Оценка - целое число от 0 до 100 включительно. Напишите программу для добавления 5 баллов к каждому результату теста и вывода фамилий и новых результатов тестов в файл new_scores.txt.
a = [] with open('class_scores.txt') as file: for line in file.readlines(): a.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(a)
Вам доступен текстовый файл goats.txt в первой строке которого написано слово COLOURS, далее идет список всех возможных цветов козлов. Затем идет строка со словом GOATS, и далее непосредственно перечисление козлов разных цветов. Перечень козлов включает только строки из первого списка. Напишите программу создания файла answer.txt и вывода в него списка козлов.
with open("goats.txt") as txt, open("answer.txt", "w") as file: s = txt.readlines() s = s[s.index("GOATS\n") + 1:] for i in sorted(set(s)): if s.count(i) / len(s) > 0.07: file.write(i)
На вход программе подается натуральное число n и n строк с названиями файлов. Напишите программу, которая создает файл output.txt и выводит в него содержимое всех файлов, не меняя их порядка.
n = int(input()) res = '' for _ in range(n): with open(input()) as file: res += file.read() with open('output.txt', 'w') as file: file.write(res)
Вам доступен текстовый файл logfile.txt с информацией о времени входа пользователя в систему и выхода из нее. Каждая строка файла содержит три значения, разделенные запятыми и символом пробела: имя пользователя, время входа, время выхода, где время указано в 24-часовом формате. Напишите программу, которая создает файл output.txt и выводит в него имена всех пользователей (не меняя порядка следования), которые были в сети не менее часа.
def get_minutes(x): h, m = map(int, x.split(':')) return h * 60 + m with open('logfile.txt', encoding='utf-8') as file, open('output.txt', 'w', encoding='utf-8') as out: for line in file: name, a, b = line.rstrip().split(',') if (get_minutes(b) - get_minutes(a)) >= 60: print(name, file=out)