Считать строки из файла питон

Считать строки из файла питон

В данной статье мы рассмотрим встроенные средства python для работы с файлами: открытие / закрытие, чтение и запись.

Итак, начнем. Прежде, чем работать с файлом, его надо открыть. С этим замечательно справится встроенная функция open:

У функции open много параметров, они указаны в статье "Встроенные функции", нам пока важны 3 аргумента: первый, это имя файла. Путь к файлу может быть относительным или абсолютным. Второй аргумент, это режим, в котором мы будем открывать файл.

Режим Обозначение
‘r’ открытие на чтение (является значением по умолчанию).
‘w’ открытие на запись, содержимое файла удаляется, если файла не существует, создается новый.
‘x’ открытие на запись, если файла не существует, иначе исключение.
‘a’ открытие на дозапись, информация добавляется в конец файла.
‘b’ открытие в двоичном режиме.
‘t’ открытие в текстовом режиме (является значением по умолчанию).
‘+’ открытие на чтение и запись

Режимы могут быть объединены, то есть, к примеру, ‘rb’ — чтение в двоичном режиме. По умолчанию режим равен ‘rt’.

И последний аргумент, encoding, нужен только в текстовом режиме чтения файла. Этот аргумент задает кодировку.

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

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

Первый — метод read, читающий весь файл целиком, если был вызван без аргументов, и n символов, если был вызван с аргументом (целым числом n).

Ещё один способ сделать это — прочитать файл построчно, воспользовавшись циклом for:

Запись в файл

Теперь рассмотрим запись в файл. Попробуем записать в файл вот такой вот список:

Откроем файл на запись:

Запись в файл осуществляется с помощью метода write:

Читайте также:  Возможна проблема с драйвером адаптера ethernet

Для тех, кто не понял, что это за цифры, поясню: метод write возвращает число записанных символов.

После окончания работы с файлом его обязательно нужно закрыть с помощью метода close:

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

Мы получили тот же список, что и был. В более сложных случаях (словарях, вложенных кортежей и т. д.) алгоритм записи придумать сложнее. Но это и не нужно. В python уже давно придумали средства, такие как pickle или json, позволяющие сохранять в файле сложные структуры.

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

На самом деле существует несколько способов прочитать текстовый файл в Python. Функции чтения содержат различные методы, read(), readline() и readlines().

read ([число]) : Возвращает указанное количество символов из файла. если он опущен, он будет читать все содержимое файла.

readline() : Возвращает следующую строку файла.

readlines() : чтение всех строк в виде списка строк в файле

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Файлы в Python

В целом различают два типа файлов (и работы с ними):

  • текстовые файлы со строками неопределенной длины;
  • двоичные (бинарные) файлы (хранящие коды таких данных, как, например, рисунки, звуки, видеофильмы);
  1. открытие файла;
    • режим чтения,
    • режим записи,
    • режим добавления данных.
    • работа с файлом;
    • закрытие файла.
    Читайте также:  Как скривить текст в кореле

    В python открыть файл можно с помощью функции open с двумя параметрами:

    • имя файла (путь к файлу);
    • режим открытия файла:
    • «r» – открыть на чтение,
    • «w» – открыть на запись (если файл существует, его содержимое удаляется),
    • «a» – открыть на добавление.

    В коде это выглядит следующим образом:

    Fin = open ( "input.txt" ) Fout = open ( "output.txt", "w" ) # работа с файлами Fout.close() Fin.close()

    Работа с текстовыми файлами в Питон

    • Чтение из файла происходит двумя способами:
      1. построчно с помощью метода readline:

      str1 = Fin.readline() # str1 = 1 str2 = Fin.readline() # str2 = 2

      str = Fin.read() »’ str = 1 2 3 »’

      str = Fin.readline().split() print(str[0]) print(str[1])

      файл input.txt:
      12 17

      1. способ:

      Fin = open ( "D:/input.txt" ) str = Fin.readline().split() x, y = int(str[0]), int(str[1]) print(x+y)

      . x, y = [int(i) for i in s] print(x+y)

      * Функция int преобразует строковое значение в числовое.

      Fout = open ( "D:/out.txt","w" ) Fout.write ("hello")

      Fout.write ( " <:d>+ <:d>= <:d>
      ".format(x, y, x+y) )

      В таком случае вместо шаблонов последовательно подставляются значения параметров метода format (сначала x, затем y, затем x+y).

      Аналогом «паскалевского» eof (если конец файла) является обычный способ использования цикла while или с помощью добавления строк в список:

      while True: str = Fin.readline() if not str: break

      Fin = open ( "input.txt" ) lst = Fin.readlines() for str in lst: print ( str, end = "" ) Fin.close()

      for str in open ( "input.txt" ): print ( str, end = "" )

      • Поскольку в Python работа с массивом осуществляется с помощью структуры список, то количество элементов в массиве заранее определять не нужно.
      • Считывание из файла чисел:

      lst = [] while True: st = Fin.readline() if not st: break lst.append (int(st))

      Fout = open ( "output.txt", "w" ) Fout.write (str(lst)) # функция str преобразует числовое значение в символьное Fout.close()

      for x in lst: Fout.write (str(x)+"
      ") # запись с каждой строки нового числа

      Читайте также:  Черная страница в ворде

      Рассмотрим на примере обработку строковых значений.

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

      Ссылка на основную публикацию
      Adblock detector