Операции с файлами Python — чтение и запись в файлы с помощью Python
В этом уроке мы будем работать над различными операциями с файлами в Python. Мы рассмотрим, как использовать Python для чтения файла, записи в файл, удаления файлов и многого другого. Итак, не откладывая, приступим.
Работа с файлами в Python
В предыдущем уроке мы использовали консоль для ввода. Теперь мы будем вводить данные, используя файл. Это означает, что мы будем читать и записывать в файлы. Для этого нам нужно сохранить некоторые шаги. Это
- Открыть файл
- Взять входные данные из этого файла/Записать выходные данные в этот файл
- Закройте файл
Мы также изучим некоторые полезные операции, такие как копирование файла и удаление файла.
Зачем нужны файловые операции в 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.
Надеюсь, вам понравилось читать статью! Удачного обучения :)
**Ссылки: