Урок 13: Работа с файлами в Python

Работа с файлами в Python

Краткое введение

В Python есть встроенные функции для работы с файлами, что позволяет считывать данные из файлов и записывать данные в файлы. Работа с файлами необходима для многих задач, связанных с обработкой данных, логированием, конфигурацией программ и т.д.

Теоретическая часть

Открытие файла

Для открытия файла используется функция open(), которая принимает путь к файлу и режим работы с файлом (например, 'r' для чтения, 'w' для записи). Функция возвращает объект файла, который затем используется для чтения или записи данных.

Чтение из файла

Для чтения содержимого файла можно использовать методы read(), readline() или readlines() объекта файла. Эти методы позволяют считывать всё содержимое файла, одну строку или все строки соответственно.

Запись в файл

Для записи в файл используется метод write() объекта файла. Если файл открыт в режиме 'w', его содержимое будет перезаписано. Для добавления данных в конец файла используется режим 'a'.

Закрытие файла

После завершения работы с файлом его необходимо закрыть с помощью метода close() . Это освобождает системные ресурсы, используемые файлом.

Примеры кода

# Чтение из файла
with open('example.txt', 'r') as file:
 content = file.read()
 print(content)

# Запись в файл
with open('example.txt', 'w') as file:
 file.write('Hello, world!')

# Добавление в файл
with open('example.txt', 'a') as file:
 file.write('\\nAnother line')

Практические задания

1. Напишите скрипт, который читает данные из файла и выводит их количество строк и слов.
2. Создайте скрипт, который запрашивает у пользователя текст и записывает его в файл, затем добавляет введенные данные еще несколько раз, формируя таким образом лог действий пользователя.

Решение задания

# Подсчет строк и слов в файле
with open('example.txt', 'r') as file:
 lines = file.readlines()
 words = [word for line in lines for word in line.split()]
 print(f"Строк: {len(lines)}, слов: {len(words)}")

# Запись и добавление пользовательского ввода в файл
user_input = input("Введите текст: ")
with open('user_log.txt', 'w') as file:
 file.write(user_input)
for _ in range(3):
 with open('user_log.txt', 'a') as file:
 file.write(f"\\n{user_input}")

© 2024 realschule.ru

Категория: Python с нуля | Добавил: Admin (07.03.2024)
Просмотров: 47 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: