Операции с файлами в Python – Чтение и запись файлов с помощью Python

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

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

В предыдущем уроке мы использовали консоль для ввода. Теперь мы будем использовать файл для ввода. Это означает, что мы будем читать из файлов и записывать в них. Для этого нам нужно выполнить несколько шагов. Это

  1. Открыть файл
  2. Взять ввод из этого файла / Записать вывод в этот файл
  3. Закрыть файл

Мы также узнаем некоторые полезные операции, такие как копирование файла и удаление файла.

Зачем нужны операции с файлами в Python?

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

Итак, давайте изучим некоторые операции с файлами в Python.

1. Открытие файла в Python с помощью функции open()

Первый шаг к работе с файлами в Python – изучить, как открывать файл. Вы можете открывать файлы с помощью метода open().

Функция open() в Python принимает два аргумента. Первый – это имя файла вместе с полным путем, а второй – режим открытия файла.

Ниже приведены некоторые общие режимы чтения файлов:

  • ‘r’ : Этот режим указывает, что файл будет открыт только для чтения
  • ‘w’ : Этот режим указывает, что файл будет открыт только для записи. Если файл с таким именем не существует, он будет создан
  • ‘a’ : Этот режим указывает, что вывод программы будет добавлен к предыдущему выводу файла
  • ‘r+’ : Этот режим указывает, что файл будет открыт как для чтения, так и для записи

Кроме того, для операционной системы Windows можно добавить ‘b’ для доступа к файлу в бинарном режиме. Это связано с тем, что Windows различает двоичный текстовый файл и обычный текстовый файл.

Предположим, мы поместили текстовый файл с именем ‘file.txt’ в ту же директорию, где находится наш код. Теперь мы хотим открыть этот файл.

Однако функция open(filename, mode) возвращает объект файла. С этим объектом файла вы можете продолжить свои дальнейшие операции.

#directory:   /home/imtiaz/code.py
text_file = open('file.txt','r')

#Another method using full location
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

Выходные данные следующего кода будут

================== RESTART: /home/imtiaz/code.py ==================
First Method

Second Method

>>>

2. Чтение и запись файлов в Python

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

Вот некоторые функции в Python, которые позволяют вам читать и записывать файлы:

  • read() : Эта функция читает весь файл и возвращает строку
  • readline() : Эта функция читает строки из файла и возвращает их в виде строки. Она извлекает строку n, если вызвана в n-й раз.
  • readlines() : Эта функция возвращает список, где каждый элемент – это одна строка этого файла.
  • readlines() : Эта функция возвращает список, где каждый элемент – это одна строка этого файла.
  • write() : Эта функция записывает фиксированную последовательность символов в файл.
  • writelines() : Эта функция записывает список строк в файл.
  • append() : Эта функция добавляет строку в файл, не перезаписывая его.

Давайте рассмотрим пример файла “abc.txt” и прочитаем отдельные строки из файла с использованием цикла for:

#открыть файл
text_file = open('/Users/pankaj/abc.txt','r')

#получить список строк
line_list = text_file.readlines();

#для каждой строки из списка вывести ее
for line in line_list:
    print(line)

text_file.close() #не забудьте закрыть файл

Вывод:

Теперь, когда мы знаем, как читать файл в Python, давайте двигаться дальше и выполним операцию записи здесь с использованием функции writelines().

#открыть файл
text_file = open('/Users/pankaj/file.txt','w')

#инициализировать пустой список
word_list= []

#пройти 4 раза
for i in range (1, 5):
    print("Please enter data: ")
    line = input() #взять ввод
    word_list.append(line) #добавить в список


text_file.writelines(word_list) #записать 4 слова в файл

text_file.close() #не забудьте закрыть файл

Вывод

3. Копирование файлов в Python с использованием метода shutil()

Мы можем использовать модуль shutil для копирования файлов в Python. Этот инструмент позволяет выполнять операции копирования и перемещения файлов в Python с разными файлами. Давайте поработаем над этим на примере:

import shutil

shutil.copy2('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copy2.txt')

# еще один способ копирования файла

shutil.copyfile('/Users/pankaj/abc.txt', '/Users/pankaj/abc_copyfile.txt')

print("File Copy Done")

4. Удаление файлов в Python с помощью метода shutil.os.remove()

Модуль shutil в Python предлагает метод remove() для удаления файлов из файловой системы. Давайте посмотрим, как мы можем выполнить операцию удаления в Python.

import shutil
import os

# два способа удаления файла
shutil.os.remove('/Users/pankaj/abc_copy2.txt')

os.remove('/Users/pankaj/abc_copy2.txt')

5. Закрытие открытого файла в Python с помощью метода close()

Когда вы открываете файл в Python, крайне важно закрыть файл после внесения изменений. Это сохранит все изменения, которые вы ранее внесли, удалит файл из памяти и предотвратит дальнейшее чтение или запись в программе.

Синтаксис закрытия открытого файла в Python:

fileobject.close()

Если мы продолжим с наших предыдущих примеров, где мы читали файлы, вот как вы закроете файл:

text_file = open('/Users/pankaj/abc.txt','r')
# некоторые операции с файлами здесь

text_file.close()

Кроме того, вы можете избежать ручного закрытия файлов, используя блок with. Как только блок with будет выполнен, файлы закрываются и больше недоступны для чтения и записи.

6. Ошибка Python FileNotFoundError

Часто возникает ошибка FileNotFoundError при работе с файлами в Python. Ее легко избежать, указав полные пути к файлам при создании объекта файла.

  File "/Users/pankaj/Desktop/string1.py", line 2, in <module>
    text_file = open('/Users/pankaj/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pankaj/Desktop/abc.txt'

Чтобы исправить ошибку FileNotFoundError, просто убедитесь, что путь, который вы указали для метода открытия файла, верен.

Вывод

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

I hope you enjoyed reading the article! Happy learning 🙂

**Ссылки:
**https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

Source:
https://www.digitalocean.com/community/tutorials/python-read-file-open-write-delete-copy