Поиск по сайту:

Операции с файлами 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:

#open the file
text_file = open('/Users/pankaj/abc.txt','r')

#get the list of line
line_list = text_file.readlines();

#for each line from the list, print the line
for line in line_list:
    print(line)

text_file.close() #don't forget to close the file

Выход:

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

#open the file
text_file = open('/Users/pankaj/file.txt','w')

#initialize an empty list
word_list= []

#iterate 4 times
for i in range (1, 5):
    print("Please enter data: ")
    line = input() #take input
    word_list.append(line) #append to the list


text_file.writelines(word_list) #write 4 words to the file

text_file.close() #don’t forget to close the file

Выход

3. Скопируйте файлы в Python, используя метод Shutil().

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

import shutil

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

#another way to copy file

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

#two ways to delete file
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')
# some file operations here

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 и многое другое. Вот статья о том, как вы можете использовать наборы данных CSV для чтения в Python.

Надеюсь, вам понравилось читать статью! Удачного обучения :)

**Ссылки: