Взаимодействовать с файлами в Python

Взаимодействовать с файлами в Python

#Python


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


Основное внимание в этой статье будет уделено следующим темам.

  • Создание файла
  • Чтение из файла
  • Запись в файл
  • Перемещение файла
  • Удаление файла

Создание файла

Первый шаг в использовании экземпляра файла — открыть файл на диске. На любом компьютерном языке это означает установление связи между вашим кодом и внешним файлом. Для создания нового файла классов ввода / вывода предусмотрена функция-член open() .

Синтаксис:

open(filename, mode)

Здесь режим относится к режиму доступа. Режимы доступа определяют тип возможных операций в открытом файле. Это относится к тому, как файл будет использоваться после его открытия. Эти режимы также определяют местоположение дескриптора файла в файле. Дескриптор файла похож на курсор, который определяет, откуда данные должны быть прочитаны или записаны в файл. В питоне есть 6 режимов доступа.

  • Только чтение ('r'): открыть текстовый файл для чтения. Дескриптор располагается в начале файла. Если файл не существует, возникает ошибка ввода-вывода. Это также режим по умолчанию, в котором файл открывается.
  • Чтение и запись ('r +'): открыть файл для чтения и записи. Дескриптор располагается в начале файла. Вызывает ошибку ввода / вывода, если файл не существует.
  • Только запись ('w'): открыть файл для записи. Для существующего файла данные усекаются и перезаписываются. Дескриптор располагается в начале файла. Создает файл, если файл не существует.
  • Запись и чтение ('w +'): открыть файл для чтения и записи. Для существующего файла данные усекаются и перезаписываются. Дескриптор располагается в начале файла.
  • Только добавление ('a'): открыть файл для записи. Файл создается, если он не существует. Дескриптор располагается в конце файла. Записываемые данные будут вставлены в конце, после существующих данных.
  • Добавить и прочитать ('a +'): открыть файл для чтения и записи. Файл создается, если он не существует. Дескриптор располагается в конце файла. Записываемые данные будут вставлены в конце, после существующих данных.

Пример: предположим, что папка выглядит так —

# Открыть функцию, чтобы открыть файл "MyFile1.txt"

# (тот же каталог) в режиме добавления и

file1 = open("MyFile.txt","w+") 

Выход:

В приведенном выше примере функция open() вместе с режимом доступа «w +» используется для открытия файла в режиме записи и чтения, но если файл не существует в компьютерной системе, он создает новый файл.


Чтение из файла

Есть три способа чтения данных из текстового файла.

read (): возвращает прочитанные байты в виде строки. Читает n байтов, если n не указано, читает весь файл.File_object.read([n])
readline (): читает строку файла и возвращает в виде строки. Для указанного n читает не более n байтов. Тем не менее, не читает более одной строки, даже если n превышает длину строки.File_object.readline([n])
readlines (): читает все строки и возвращает их в виде каждой строки как строковый элемент в списке.File_object.readlines()

Примечание: '/n' обрабатывается как специальный символ из двух байтов.


# Программа для показа различных способов

# читать данные из файла.

    

# Создание файла

file1 = open("myfile.txt", "w") 

L = ["This is Delhi \n", "This is Paris \n", "This is London \n"] 

    

# Запись данных в файл

file1.write("Hello \n")  

file1.writelines(L) 

file1.close()  # изменить режим доступа к файлу

    

file1 = open("myfile.txt", "r+") 

    

print("Output of Read function is ") 

print(file1.read()) 

print() 

    

# seek (n) переводит дескриптор файла в nth

# кусаться с самого начала.

file1.seek(0) 

    

print("Output of Readline function is ") 

print(file1.readline()) 

print() 

    

file1.seek(0) 

    

# Чтобы показать разницу между read и readline

print("Output of Read(9) function is ") 

print(file1.read(9)) 

print() 

    

file1.seek(0) 

    

print("Output of Readline(9) function is ") 

print(file1.readline(9)) 

print() 

    

file1.seek(0) 

    

функция # readlines

print("Output of Readlines function is ") 

print(file1.readlines()) 

print() 

file1.close()  

Выход:

Output of Read function is
Hello
This is Delhi
This is Paris
This is London


Output of Readline function is
Hello


Output of Read(9) function is
Hello
Th

Output of Readline(9) function is
Hello


Output of Readlines function is
['Hello \n', 'This is Delhi \n', 'This is Paris \n', 'This is London \n']


Запись в файл

Есть два способа записи в файл.

  1. write (): вставляет строку str1 в одну строку в текстовом файле.
  2. File_object.write (str1)
  3. writelines (): для списка строковых элементов каждая строка вставляется в текстовый файл. Используется для вставки нескольких строк одновременно.
  4. File_object.writelines (L) для L = [str1, str2, str3]

Примечание: '/n' обрабатывается как специальный символ из двух байтов.


# Программа Python для демонстрации

# запись в файл

    

# Открытие файла

file1 = open('myfile.txt', 'w') 

L = ["This is Delhi \n", "This is Paris \n", "This is London \n"] 

s = "Hello\n"

    

# Запись строки в файл

file1.write(s) 

    

# Написание нескольких строк

# вовремя

file1.writelines(L) 

    

# Закрытие файла

file1.close() 

    

# Проверка данных

# записано в файл или нет

file1 = open('myfile.txt', 'r') 

print(file1.read()) 

file1.close() 

Выход:

Hello
This is Delhi
This is Paris
This is London


Перемещение файла

Это может быть достигнуто с помощью функции shutil.move() из модуля shutil . shutil.move() Рекурсивно перемещает файл или каталог (источник) в другое место (место назначения) и возвращает место назначения. Если каталог назначения уже существует, то src перемещается в этот каталог. Если место назначения уже существует, но не является каталогом, оно может быть перезаписано в зависимости от os.rename() .

Пример: предположим, что каталог выглядит так —

# Python программа для перемещения

# файлы

    

    

import shutil 

    

# Исходный путь

source = "D:\Pycharm projects\gfg\Test\Test4.txt"

    

# Путь назначения

destination = "D:\Pycharm projects\gfg\Test\G"

    

# Переместить содержимое

# источник до места назначения

dest = shutil.move(source, destination) 

    

# print (dest) печатает

# Назначение перемещенного каталога

Выход:


Удаление файла

os.remove() в Python используется для удаления или удаления пути к файлу. Этот метод не может удалить или удалить каталог. Если указанный путь является каталогом, метод вызовет OSError.

Пример: предположим, что файл, содержащийся в папке:

Мы хотим удалить файл 1 из вышеуказанной папки. Ниже приведена реализация.


# Python программа для объяснения метода os.remove ()

        

# импорт модуля os

import os  

      

# Имя файла

file = 'file1.txt'

      

# Расположение файла

location = "D:/Pycharm projects/GeeksforGeeks/Authors/Nikhil/"

      

# Путь

path = os.path.join(location, file)  

      

# Удалить файл

# 'file.txt'

os.remove(path)  

Выход:





Report Page