Описанные ниже методы позволяют производить
чтение и запись в файл средствами модуля
pathlib
. Данные методы принадлежат экземпляру, созданному из класса
Path()
.
Содержание:
Path.open(mode='r', buffering=-1, encoding=None, errors=None, newline=None)
:
>>> from pathlib import Path
>>> p = Path('setup.py')
>>> with p.open() as f:
... f.readline()
...
# '#!/usr/bin/env python3\n'
Path.read_bytes()
:
Метод
Path.read_bytes()
вернет двоичное содержимое указанного файла в виде
байтового объекта:
>>> from pathlib import Path
>>> p = Path('my_binary_file')
>>> p.write_bytes(b'Binary file contents')
# 20
>>> p.read_bytes()
# b'Binary file contents'
В результате работы метода, файл открывается, а затем закрывается.
Path.read_text(encoding=None, errors=None)
:
Метод
Path.read_text()
вернет декодированное содержимое указанного файла в виде
строки:
>>> from pathlib import Path
>>> p = Path('my_text_file')
>>> p.write_text('Text file contents')
# 18
>>> p.read_text()
# 'Text file contents'
В результате работы метода, файл открывается, а затем закрывается. Необязательные параметры имеют то же значение, что и
встроенная функция open()
.
Path.write_bytes(data)
:
Метод
Path.write_bytes()
открывает файл в
байтовом режиме для записи, записывает в него данные
data
и закрывает его:
>>> from pathlib import Path
>>> p = Path('my_binary_file')
>>> p.write_bytes(b'Binary file contents')
# 20
>>> p.read_bytes()
# b'Binary file contents'
Существующий файл с тем же именем
перезаписывается. Необязательные параметры имеют то же значение, что и
встроенная функция open()
.
Path.write_text(data, encoding=None, errors=None, newline=None)
:
Метод
Path.write_text()
открывает файл для записи в
текстовом режиме, записывает в него данные
data
и закрывает его:
>>> from pathlib import Path
>>> p = Path('my_text_file')
>>> p.write_text('Text file contents')
# 18
>>> p.read_text()
# 'Text file contents'
Существующий файл с тем же именем
перезаписывается. Необязательные параметры имеют то же значение, что и
встроенная функция open()
.
Изменено в Python 3.10: добавлен параметр новой строки newline
.