Объекты файлов в Python это главный интерфейс к внешним файлам на компьютере.
С помощью этих объектов можно читать и писать: текстовые заметки, аудиоклипы, документы Excel, файлы XML или INI... Работать с помощью этого объекта можно с любыми файлами.
Файлы относятся к основным типам.
Чтобы создать объект файла, необходимо вызвать встроенную функцию open, а в качестве аргумента передать имя файла и режим обработки.
Чтобы прочитать файл, надо открыть его в режиме обработки, передав в качестве аргумента не 'w', а 'r'. Можно не указывать аргумент, по-умолчанию без аргумента, файл открывается на чтение. После открытия читаем содержимое файла в строку и отображаем её.
Двоичные файлы
Python3.X проводит чёткое различие между текстовыми и двоичными данными в файлах. Текстовые файлы представляют содержимое файлов в виде строк str, при этом кодирование и декодирование Unicode выполняется автоматически.
Двоичные файлы представляют содержимое в виде специальных строк bytes и позволяют получать доступ к файлу, не изменяя его.
Двоичные файлы удобны для обработки медиаданных, доступа к данным созданным программами C и т.д.
Кодировки
Чтобы получить доступ к файлам, содержащим отличающийся от ASCII текст Unicode необходимо передать имя кодировки, если она не совпадает со стандартной кодировкой для имеющейся платформы. В таком режиме Python автоматически кодирует текстовые файлы при записи и декодирует при чтении, согласно схеме кодировки, передаваемой в качестве аргумента функции open()
При необходимости всегда можно посмотреть. что действительно храниться в файле, открыв его в двоичном режиме:
Иногда бывают случаи, когда данные необходимо получать из сетевого подключения или из электронной почты. Кодирование и декодирование в этом случае также можно и вручную.
Советы:
Один из лучших способов чтения файла - не читать его вообще, а использовать итератор, который автоматически производит чтение строка за строкой в циклах for и других контекстах.
Если статья была вам хоть сколько-нибудь интересна ставим лайк и подписываемся на канал, чтобы не пропустить новые материалы. Спасибо за прочтение.
Помогите автору канала одним из этих способов :) :
Донаты (переводы) с любых карт и yoomoney - https://yoomoney.ru/fundraise/QnZacAJpY9g.230208
Донаты на карту Сбера - 2202 2007 6729 1543
Донаты на Тинькофф - 5536 9137 9511 4657
Донаты на Открытие - 5586 2000 6614 6835
Криптокошельки:
1. Ethereum - 0x73670880Af17F42E6a641f5936E2f3Bc5a4db257
2. Bitcoin - bc1qywt6l80metclksvdzjt370r28zg9gxg5262aum
3. LiteCoin - ltc1qrwedpjt4evqhl42w2z32kks6xwysqvk3g27uqj
4. Zcash - t1YfZNFJ5Q1BQLCbC6Qo3bcueLJ53QLo4Mx