- 6 августа 2025
- 4 минуты
- 326
Работа с текстовыми файлами в Python. Чтение и вывод данных
Статью подготовили специалисты образовательного сервиса Zaochnik.
Открытие файла
Для выполнения операций ввода-вывода с файлами необходимо связать файл с специальным объектом — потоком. Для этого используется функция `open`, которая принимает два параметра.
- Первым параметром (или именованным параметром `file`) является строка, содержащая имя того файла, который открывается.
- Вторым параметром (или именованным параметром `mode`) является строка, обозначающая режим открытия файла:
- "r" — отвечает за чтение данных (read);
- "w" — используется для записи (write), причем содержимое файла стирается и перезаписывается в чистый документ;
- "a" — вызывается при необходимости добавить данные в конец файла (append).
В случае, когда второй параметр не указан, файл будет открыт в режиме чтения по умолчанию.
Функция `open` возвращает ссылку на файловый объект. Эту ссылку следует сохранить в переменной для использования методов ввода-вывода.
```python
input_file = open('input_f.txt', 'r')
output_file = open('output_f.txt', 'w')
```
Чтение данных из файла
Для файлов, открытых на чтение, доступны следующие методы:
- `readline()` — обеспечивает считывание одной строки из файла только до символа конца строки (`\n`). Если достигнут конец файла, возвращает пустую строку. Чтобы удалить символ `\n`, можно применить метод строки `rstrip()`.
```python
s = s.rstrip()
```
- `readlines()` отвечает за считывание всей строки файла и возвращает данные в виде списка, где каждая строка — один элемент. Символы `\n` остаются в конце строк.
- `read()` выполняет считывание всего содержимого файла и возвращает строку, содержащую, в том числе, символы `\n`. Если указать целочисленный параметр, будет прочитано не более заданного количества символов.
считывание файла по одному байту можно сделать с помощью `read(1)`.
Вывод или запись данных в файл
Данные записываются в файл с помощью метода `write`, к которому передается одна строка. Такой метод не добавляет символ конца строки `\n`, как в случае использования `print`, в связи с чем при необходимости перехода на новую строку нужно явным образом указать этот символ.
Также можно использовать функцию `print`, передав ей в качестве дополнительного именованного параметра `file` ссылку на открытый файл.
```python
output_file = open('output_f.txt', 'w')
print(a, b, c, file=output_file)
```
Метод для закрытия файла
По завершению работы с файлом его необходимо закрыть с помощью метода `close()`.
Программа в примере ниже считывает все содержимое файла `input_f.txt`, далее записывает его в переменную `temp` и выводит в файл `output_f.txt`:
```python
input_file = open('input_f.txt', 'r')
output_file = open('output_f.txt', 'w')
temp = input_file.read()
output_file.write(temp)
input_file.close()
output_file.close()
```
А вот аналогичная программа, которая читает данные посимвольно:
```python
input_file = open('input_f.txt', 'r')
output_file = open('output_f.txt', 'w')
data = input_file.read(1)
while len(data) > 0:
output_file.write(data)
data = input_file.read(1)
input_file.close()
output_file.close()
```