Учебники

19) Чтение и запись файлов

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

В этом уроке мы узнаем

Как открыть текстовый файл

Чтобы открыть файл, вам нужно использовать встроенную openфункцию. Функция open возвращает объект файла, который содержит методы и атрибуты для выполнения различных операций над файлом.

Синтаксис

file_object  = open("filename", "mode") 

Вот,

  • filename: дает имя файла, который открыл объект файла.
  • mode: атрибут объекта файла указывает, в каком режиме был открыт файл.

Более подробно эти режимы описаны ниже

Шаг 1)

	f= open("guru99.txt","w+")
  • Мы объявили переменную f, чтобы открыть файл с именем guru99.txt. Open принимает 2 аргумента: файл, который мы хотим открыть, и строку, представляющую виды разрешений или операций, которые мы хотим выполнить над файлом
  • Здесь мы использовали букву «w» в нашем аргументе, которая указывает на запись и создаст файл, если он не существует в библиотеке
  • Знак «плюс» указывает как на чтение, так и на запись.

Шаг 2)

for i in range(10):
     f.write("This is line %d\r\n" % (i+1))
  • У нас есть цикл for, который работает в диапазоне 10 чисел.
  • Использование функции записи для ввода данных в файл.
  • Вывод, который мы хотим перебрать в файле: «это номер строки», который мы объявляем с помощью функции записи, а затем процентов d (отображает целое число)
  • Таким образом, в основном мы вводим номер строки, которую пишем, затем помещаем ее в знак возврата каретки и символ новой строки

Шаг 3)

	f.close() 
  • Это закроет экземпляр сохраненного файла guru99.txt

Вот результат после выполнения кода

Python FILE Tutorial: создание, добавление, чтение, запись

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

Python FILE Tutorial: создание, добавление, чтение, запись

Шаг 1)

f=open("guru99.txt", "a+")

Еще раз, если вы можете увидеть знак плюс в коде, это означает, что он создаст новый файл, если он не существует. Но в нашем случае у нас уже есть файл, поэтому нам не нужно создавать новый файл.

Шаг 2)

for i in range(2):
     f.write("Appended line %d\r\n" % (i+1))

Это запишет данные в файл в режиме добавления.

Python FILE Tutorial: создание, добавление, чтение, запись

Вы можете увидеть вывод в файле «guru99.txt». Вывод кода заключается в том, что к более раннему файлу добавляются новые данные.

Python FILE Tutorial: создание, добавление, чтение, запись

Шаг 1) Откройте файл в режиме чтения

	f=open("guru99.txt", "r")

Шаг 2) Мы используем функцию mode в коде, чтобы проверить, находится ли файл в открытом режиме. Если да, мы продолжаем

	if f.mode == 'r':

Шаг 3) Используйте f.read, чтобы прочитать данные файла и сохранить их в переменном контенте.

	contents =f.read()

Шаг 4) распечатать содержимое

Вот вывод

Python FILE Tutorial: создание, добавление, чтение, запись

Python FILE Tutorial: создание, добавление, чтение, запись

Когда вы запускаете код ( f1 = f.readlines ()) для чтения файла или документа построчно, он разделяет каждую строку и представляет файл в удобочитаемом формате. В нашем случае строка короткая и читаемая, вывод будет похож на режим чтения. Но если есть сложный файл данных, который не читается, этот фрагмент кода может быть полезен.

Режимы файлов в Python

Ниже приведены различные режимы в Python

Режим Описание
‘р’ Это режим «по умолчанию». Открывает файл для чтения.
«Ш» Этот режим открывает файл для записи.
Если файл не существует, он создает новый файл.
Если файл существует, он усекает файл.
‘Икс’ Создает новый файл. Если файл уже существует, операция не выполняется.
«А» Открыть файл в режиме добавления.
Если файл не существует, он создает новый файл.
«Т» Это режим «по умолчанию». Он открывается в текстовом режиме.
«Б» Это открывается в двоичном режиме.
‘+’ Это откроет файл для чтения и записи (обновление)

Вот полный код

Пример Python 2

def main():
     f= open("guru99.txt","w+")
     #f=open("guru99.txt","a+")
     for i in range(10):
         f.write("This is line %d\r\n" % (i+1))
     f.close()   
     #Open the file back and read the contents
     #f=open("guru99.txt", "r")
     #   if f.mode == 'r': 
     #     contents =f.read()
     #     print contents
     #or, readlines reads the individual line into a list
     #fl =f.readlines()
     #for x in fl:
     #print x
if __name__== "__main__":
  main()

Пример Python 3

def main():
    f= open("guru99.txt","w+")
    #f=open("guru99.txt","a+")
    for i in range(10):
         f.write("This is line %d\r\n" % (i+1))
    f.close()
    #Open the file back and read the contents
    #f=open("guru99.txt", "r")
    #if f.mode == 'r':
    #   contents =f.read()
    #    print (contents)
    #or, readlines reads the individual line into a list
    #fl =f.readlines()
    #for x in fl:
    #print(x)
if __name__== "__main__":
  main()

Резюме

  • Python позволяет читать, писать и удалять файлы
  • Используйте функцию open («имя файла», «w +») для создания файла. Знак + указывает интерпретатору python открывать файл с правами на чтение и запись.
  • Чтобы добавить данные в существующий файл, используйте команду open («Имя файла», « a »)
  • Используйте функцию чтения, чтобы прочитать все содержимое файла
  • Используйте функцию readlines, чтобы прочитать содержимое файла один за другим.