🐍 Работа с файлами в Python: 5 задач для начинающих с решениями
Начинаем изучать инструменты Python, предназначенные для работы с текстовыми файлами форматов .txt, .md и .csv: напишем программы для поиска и замены слов, подсчета стоимости товаров, получения статистики по тексту и преобразования информации из csv-файла в словарь.
Стоимость заказа
Имеется текстовый файл prices.txt с информацией о заказе из интернет магазина. В нем каждая строка с помощью символа табуляции \t разделена на три колонки:
наименование товара;
количество товара (целое число);
цена (в рублях) товара за 1 шт. (целое число).
Напишите программу, подсчитывающую общую стоимость заказа.
Напишите программу, которая принимает поисковый запрос и выводит названия текстовых файлов, содержащих искомую подстроку. Все файлы располагаются в директории D:\Python\Textfiles.
Формат ввода
Строка, содержащая поисковый запрос.
Формат вывода
Список текстовых файлов, содержащих введенную пользователем подстроку.
Пример ввода:
Пример вывода:
Решение
Поскольку слово может встречаться в одном и том же файле несколько раз, есть смысл сохранять результаты поиска во множестве set.
Словарь из CSV-файла
Имеется файл data.csv, содержащий информацию в csv-формате. Напишите функцию read_csv() для чтения данных из этого файла. Она должна возвращать список словарей, интерпретируя первую строку как имена ключей, а каждую последующую строку как значения этих ключей. Функция read_csv() не должна принимать аргументов.
Решение
Способ 1:
Способ 2:
Способ 3:
Способ 4:
Способ 5:
Информация о файле
Имеется файл file.txt с текстом на латинице. Напишите программу, которая выводит следующую статистику по тексту:
количество букв латинского алфавита;
число слов;
число строк.
Пример ввода и вывода
Предположим, что file.txt содержит приведенный ниже текст:
В этом случае программа должна вывести информацию о файле в следующем виде:
Решение
Способ 1:
Способ 2:
Способ 3:
Способ 4:
Способ 5:
Запрещенные слова
Напишите программу, которая получает на вход строку с названием текстового файла, и выводит на экран содержимое этого файла, заменяя все запрещенные слова звездочками * (количество звездочек равно количеству букв в слове). Запрещенные слова, разделенные символом пробела, хранятся в текстовом файле forbidden_words.txt. Все слова в этом файле записаны в нижнем регистре. Программа должна заменить запрещенные слова, где бы они ни встречались, даже в середине другого слова. Замена производится независимо от регистра: если файл forbidden_words.txt содержит запрещенное слово exam, то слова exam, Exam, ExaM, EXAM и exAm должны быть заменены на ****.
Формат ввода
Строка текста с именем существующего текстового файла, в котором необходимо заменить запрещенные слова звездочками.
Формат вывода
Текст, отредактированный в соответствии с условием задачи.
Пример ввода вывода
Предположим, что forbidden_words.txt содержит следующие запрещенные слова:
А текст файла, подлежащего цензуре, выглядит так:
Тогда программа должна вывести отредактированный текст в таком виде: