Серия Python для начинающих — часть 17
В последней части серии мы узнали об обработке исключений в Python. В этой части мы рассмотрим обработку файлов.
Обработка файлов Python позволяет вам читать, записывать и манипулировать файлами на вашем компьютере. В этой статье мы рассмотрим различные аспекты обработки файлов в Python.
Прежде чем мы углубимся в детали обработки файлов в Python, важно понять, что такое файл. Файл — это набор данных, который хранится на жестком диске вашего компьютера. Данные могут быть в различных формах, таких как текст, изображения, видео или аудиофайлы. Файл обычно идентифицируется по имени и расширению, например «example.txt» или «image.jpg».
Python предоставляет несколько встроенных функций и модулей для работы с файлами. Вот некоторые из наиболее часто используемых функций и модулей для работы с файлами в Python:
- открыть()
- закрывать()
- читать()
- писать()
- строка чтения()
- искать()
- рассказывать()
- ОС модуль
- модуль шутил
Открытие и закрытие файлов
Первым шагом в работе с файлом является открытие файла. Python предоставляет функцию open() для открытия файла. Синтаксис открытия файла следующий:
file = open("filename", "mode")
В этом синтаксисе «имя файла» — это имя файла, который вы хотите открыть, а «режим» — это режим доступа, который вы хотите использовать для открытия файла. В Python доступно несколько режимов работы с файлами:
- «r»: режим чтения (по умолчанию)
- «w»: режим записи
- «a»: режим добавления
- «x»: эксклюзивный режим создания
- «б»: двоичный режим
- «т»: текстовый режим
Например, чтобы открыть файл в режиме чтения, вы можете использовать следующий код:
file = open("example.txt", "r")
После того, как вы закончили работу с файлом, вы должны закрыть его с помощью функции close(). Синтаксис закрытия файла следующий:
file.close()
Чтение файлов
Открыв файл, вы можете прочитать его содержимое с помощью функции read(). Функция read() считывает все содержимое файла и возвращает его в виде строки. Синтаксис чтения файла следующий:
file = open("example.txt", "r") content = file.read() print(content) file.close()
В этом коде мы открываем файл «example.txt» в режиме чтения, читаем его содержимое с помощью функции read() и выводим содержимое на консоль. Наконец, мы закрываем файл с помощью функции close().
Если вы хотите прочитать только определенное количество символов из файла, вы можете использовать функцию read(n), где «n» — это количество символов, которые вы хотите прочитать. Например:
file = open("example.txt", "r") content = file.read(10) print(content) file.close()
В этом коде мы читаем только первые 10 символов из файла «example.txt».
Вы также можете прочитать файл построчно, используя функцию readline(). Функция readline() читает одну строку из файла и возвращает ее в виде строки. Синтаксис чтения файла построчно следующий:
file = open("example.txt", "r") line = file.readline() while line: print(line) line = file.readline() file.close()
В этом коде мы читаем файл «example.txt» построчно, используя цикл while.
Запись файлов
Python также предоставляет функцию write() для записи в файл. Функция write() записывает указанную строку в файл. Если файл не существует, функция write() создает его. Если файл уже существует, функция write() перезаписывает его содержимое. Синтаксис записи в файл следующий:
file = open("example.txt", "w") file.write("This is an example text.") file.close()
В этом коде мы открываем файл «example.txt» в режиме записи, пишем текст «Это пример текста». к нему с помощью функции write(), а затем закройте файл.
Если вы хотите добавить данные в существующий файл, вы можете использовать режим добавления («a») вместо режима записи («w»). Синтаксис добавления в файл следующий:
file = open("example.txt", "a") file.write("This is appended text.") file.close()
В этом коде мы открываем файл «example.txt» в режиме добавления, добавляем текст «Это добавленный текст». к нему с помощью функции write(), а затем закройте файл.
Позиционирование файла
Функция seek() используется для изменения позиции файла на указанную позицию. Синтаксис функции seek() следующий:
file.seek(offset, whence)
В этом синтаксисе «смещение» указывает количество байтов для перемещения указателя файла, а «откуда» указывает исходную позицию, от которой должно быть рассчитано смещение. Есть три значения, которые можно использовать для «откуда»:
- 0: исходная позиция — это начало файла (по умолчанию)
- 1: исходная позиция — это текущая позиция в файле.
- 2: исходная позиция — это конец файла
Например, чтобы переместить указатель файла в начало файла, вы можете использовать следующий код:
file = open("example.txt", "r") file.seek(0) content = file.read() print(content) file.close()
В этом коде мы используем функцию seek() для перемещения указателя файла в начало файла, а затем читаем его содержимое с помощью функции read().
Функция tell() используется для получения текущей позиции в файле. Синтаксис функции tell() следующий:
position = file.tell()
В этом коде мы используем функцию tell() для получения текущей позиции указателя файла.
Модули обработки файлов
Python предоставляет два модуля для работы с файлами: модуль os и модуль Shutil.
Модуль os предоставляет различные функции для работы с файлами и каталогами. Некоторые из наиболее часто используемых функций в модуле os:
- os.rename(): переименовать файл или каталог
- os.remove(): удалить файл
- os.mkdir(): создать каталог
- os.rmdir(): удалить каталог
- os.getcwd(): получить текущий рабочий каталог
- os.listdir(): получить список файлов и каталогов в каталоге
Модуль Shutil предоставляет высокоуровневые операции для работы с файлами и каталогами. Вот некоторые из наиболее часто используемых функций модуля Shutil:
- Shutil.copy(): скопировать файл или каталог
- Shutil.move(): переместить файл или каталог
- Shutil.rmtree(): удалить каталог и все его содержимое.
Заключение
В заключение можно сказать, что обработка файлов является важным аспектом программирования, и Python предоставляет мощные встроенные функции и модули для работы с файлами. В этой статье мы рассмотрели различные аспекты обработки файлов в Python, включая открытие и закрытие файлов, чтение и запись файлов, позиционирование файлов и модули обработки файлов. Обладая этими знаниями, вы сможете уверенно работать с файлами в своих программах на Python.
LinkedIn, Medium, Instagram, Kaggle и GitHub.
Если вам нравится читать истории, подобные этой, и вы хотите поддержать меня, подумайте о том, чтобы стать участником Medium. Взяв 5 долларов в месяц, вы открываете неограниченный доступ к историям на Medium. Если вы воспользуетесь моей ссылкой для регистрации, я получу небольшую комиссию.
Уже участник? Подпишитесь, чтобы получать уведомления, когда я опубликую.
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.