Файловый ввод вывод python: Файловый ввод-вывод — Python documentation

Файловый ввод-вывод — Python documentation

Файловый ввод-вывод — Python documentation

Обычно работа с файлами состоит из следующих этапов:

  1. Открыть файл. При открытии следует указать режим: чтение или запись.

  2. Выполнить чтение или запись данных.

  3. Закрыть файл.

Рассмотрим функции для выполнения этих действий.

open(file_path, mode=’r’)

Открыть файл file_path в режиме mode. Функция возвращает file object. Полная сигнатура функции приведена в официальной документации: open. Режим может принимать значения:

  • 'r'read, чтение

  • 'w'write, запись

f.write(text)

Записать строку text в файл.

f.
read
()

Прочитать все данные из файла

f.close()

Закрыть файл f.

Пример работы с файлом:

# Открываем файл для записи
out_file = open('data.txt', 'w')
# Пишем в файл две строки
out_file.write('Hello\n')
out_file.write('World\n')
# Закрываем файл
out_file.close()
# Снова открываем этот же файл, но уже для чтения
in_file = open('data.txt', 'r')
# Файл — итерируемый объект. Следовательно, для
# его построчного чтения можно использовать цикл for
for line in in_file:
    print(f'Got line: {line}')
in_file.close()

Задачи

  1. Написать программу, которая будет получать у пользователя строку и записывать её в файл “data.txt”

  2. Разработать приложение, которое записывает в файл все строки, введенные пользователем. Признак конца ввода — пустая строка. Пример:

    Введите имя файла: data.txt
    Начните вводить строки
    > one
    > two
    > three
    >
    Файл записан.

    После выполнения программы должен появиться файл data.txt, содержащий три строки:

    one
    two
    three
    
  3. Написать программу, которая будет получать у пользователя путь к файлу и выводить его содержимое на экран

  4. Доработать предыдущее приложение для нумерации строк в файле. Приложение принимает на вход имя файла и выводит его построчно, добавляя к каждой строке её номер. Если использовать файл, созданный в предыдущей задаче, то результат работы программы будет выглядеть так:

    Введите имя файла: data.txt
    1 one
    2 two
    3 three
    

    Используйте метод строки rstrip(), чтобы избавиться от лишних переносов сток. После этого результат работы программы примет вид:

    Введите имя файла: data.txt
    1 one
    2 two
    3 three
    
  5. Разработать приложение для разделения файла на части. Приложение принимает на вход имя файла для разделения и целое число N. На выходе у приложения множество файлов, каждый из которых содержит не более, чем N строк из исходного файла.

    Пусть на вход программе подается файл data.txt, со следующим текстом:

    one
    two
    three
    four
    five
    six
    seven
    eight
    nine
    ten
    

    Будем разделять его на несколько файлов, в каждом из которых окажется не более трех строк:

    Введите имя входного файла: data.txt
    Введите максимальное количество строк: 3
    

    После выполнения программы должны быть созданы файлы 1.txt, 2.txt и так далее. В файле 1.txt будут сроки:

    one
    two
    three
    

    В файле 2.txt:

    four
    five
    six
    

    И так далее.

  6. Разработать приложение для объединения файлов. Приложение принимает на вход имена файлов для объединения (можно использовать файлы, полученные из предыдущего задания) и имя выходного файла.

Дополнительные задачи

  1. Разработайте приложение, которое выводит N первых строк файла.

  2. Разработайте приложение, которое выводит N последних строк файла.

Read the Docs v: latest

Versions
latest
Downloads
html
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.

Файловый ввод-вывод — Pythontutor — статьи

Файловый ввод-вывод

1. Ввод из файла

Пусть нужно считать файл input.txt. Будем считать, что файл input.txt лежит в той же папке, что и наша программа. Напишите в ней такой код:

fin = open('input. txt', 'r')
a = fin.readlines()

После этого в списке a окажется список из строк файла. Например, если файл input.txtбыл

abcd
efgh

то команда print(a) выведет ['abcd\n', 'efgh\n']. Последний символ в каждой строке — '\n' — это один специальный символ конца строки. Обратите внимание: это не два символа, а один.

Можно удалить эти ненужные символы с помощью метода 

strip(). В этом случае считывание может выглядеть так:

fin = open('input.txt', 'r')
a = [line.strip() for line in fin.readlines()]

2. Вывод в файл

Для вывода в файл нужно открыть его и связать объект файла с каким-нибудь именем.

fout = open('output.txt', 'w')  # 'w' - это режим "запись" ("write")

После этого можно осуществлять вывод обычной командой print(), указывая при этом объект файла в качестве параметра file.

print("Hello, world!", file=fout)

По окончании работы с файлом необходимо закрыть его. В противном случае файл может даже не появиться на жёстком диске.

fout.close()

3. Ввод-вывод в ситуации, когда количество строк неизвестно

Пусть нужно считать входной файл, причём количество строк в нём заранее неизвестно. Выполните такой код:

from sys import stdin
a = stdin.readlines()

После этого в списке a окажется список из строк входного файла. Например, если входной файл был

abcd
efgh

то команда print(a) выведет ['abcd\n', 'efgh\n']. Последний символ в каждой строке — '\n' — это один специальный символ конца строки. Обратите внимание: это не два символа, а один.

К сожалению, протестировать на правильность программы с таким вводом-вывом из среды Wing невозможно. Дело в том, что в консоли Винга нельзя сказать, что входной файл закончился.

Нет возможности ввести символ конца файла. Соответственно, метод sys.stdin.readlines() никогда не завершится, поскольку будет ждать всё новые и новые строки из входа. Чтобы протестировать ваш код на системе Windows, проделайте следующие действия:

  1. Откройте консоль: Пуск → Выполнить → cmd
  2. С помощью команды cd дойдите до папки с вашей программой. При этом не стесняйтесь обильно нажимать клавишу Tab.
  3. Введите имя вашей программы в консоли и нажмите Enter. При этом ваша программа запустится
  4. Введите в консоль входные данные для программы.
  5. Введите конец входного файла, нажав сочетание Ctrl+Z. Нажмите Enter.
  6. Насладитесь выводом вашей программы.

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

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

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

Объем статьи

→ В этой статье мы узнаем о функциях обработки файлов в python.

→ Мы будем знать каждую функцию обработки файла, такую ​​как открытие файла, закрытие файла, создание файла, запись в файл, чтение файла и обновление файла.

→ Некоторые методы работы с файлами в python.

Введение

→ Функции обработки файлов: создание файла, запись в файл, чтение файла и обновление файла.

→ Файлы обычно используются для хранения информации, полученной из программ.

→ Файлы бывают двух типов: обычные текстовые файлы и двоичные файлы.

→ Текстовые файлы имеют разделитель для каждой строки со специальным символом в python.

→ Двоичные файлы записываются на двоичных языках, т. е. 0 и 1, что не требует терминатора.

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

→ У нас разные режимы доступа к файлам. Давайте обсудим их.

Режимы доступа для использования файлов

Режимы доступа здесь используются для открытия файла в этом конкретном режиме и последующего доступа в указанном режиме.

Режимы доступа в python:

  1. Только чтение (‘r) : Открытие файла только для чтения и указатель файла, расположенный в начале файла.
    Если выбранный файл не существует, возвращается ошибка.
  1. Чтение и запись («r+»): При открытии файла для чтения и записи указатель файла располагается в начале файла.
    Если выбранный файл не существует, возвращается ошибка.
  1. Только запись (‘w’): Открытие файла для записи содержимого в файл, положение указателя файла в начале файла.
    Если выбранный файл не существует, возвращается ошибка.
  1. Запись и чтение («w+»): При открытии файла для чтения и записи указатель файла располагается в начале файла.
  2. Только добавление (‘a’): При открытии файла для записи указатель файла располагается в конце файла.
    Если выбранный файл не существует, он создает файл и использует его.
  1. Добавление и чтение(‘a+’): При открытии файла для чтения и записи указатель файла располагается в конце файла.
    Если выбранный файл не существует, он создает файл и использует его.
  1. Двоичный (‘b’): Открытие файла в двоичном режиме.

Теперь сообщите нам, какие операции можно выполнять с файлами.

Открытие файла в Python

В Python есть встроенная функция для открытия файла, которая является функцией open() .

Синтаксис

:

f = open(«имя файла», «Режим доступа»)

Пример:

file = open(«C:/PythonPrograms/sample.txt»)

Мы также можем указать режим файла, 

Открытие файла в режиме записи, 

file = open(«C:/ PythonPrograms/sample.txt», ‘w’)

Открытие файла в режиме чтения, чтение и запись в двоичном режиме,

file = open(«C:/PythonPrograms/sample. txt», ‘r+b’)

Мы также можем записать оператор как

file = open(«C:/PythonPrograms/sample.txt», mode= ‘r+b’)

И рекомендуется писать тип кодировки,

file = open(«C:/PythonPrograms/sample.txt», mode= ‘r+b’, encoding= ‘utf-8’)

Закрытие файла в python:

Python имеет встроенный функция для закрытия файла, которая является функцией

close() .

Синтаксис:

file.close() #file — имя созданного файла.

Пример:

 файл = открыть("C:/PythonPrograms/sample.txt")
file.close() 

Закрытие файла с помощью метода close() в python.

Мы также можем написать это безопасным способом, используя блоки try и finally,

 try:
файл = открыть («demo.txt», кодировка = «utf-8»)
в конце концов:
file.close() 

Этот способ помогает нам избежать возникновения исключений.

У нас также есть другой способ закрыть файл, используя оператор with as,

 с open("demo.txt", encoding = 'utf-8') как f:
Операторы #executable 

Запись в файл в Python

Python имеет встроенную функцию для записи файла, которая называется функцией write().

Синтаксис:

f.write() #f — имя созданного файла

Пример:

 с open("demo.txt", encoding = "utf-8") as f:
f.write («Это файл, созданный с использованием кода Python»)
f.write("Это следующая строка файла") 

Если файл demo.txt существует в указанном месте, он записывает указанное содержимое в указанный файл.

Если файл demo.txt не существует в указанном месте, отображается ошибка.

Метод writelines() используется для записи элементов в список. Символы новой строки («\n») являются частью строки.

 L = [«Это созданный файл. \n», Этот файл взят в качестве примера.  \п”]
F = открыть ("demo.txt", "w")
F.writelines(L)
F.close() 

Вывод:

Это созданный файл.
Этот файл взят в качестве примера.

Чтение файла в Python

Python имеет встроенную функцию для чтения файла, которая представляет собой функцию read() .

Синтаксис:
f.read(размер для чтения) #f — имя созданного файла

Пример:

 с open("demo.txt", encoding = "utf-8") как f:
f.read(10) # читает первые 10 содержимого файла 

Если demo.txt существует в указанном месте, он читает указанное содержимое в указанном файле.

Если файл demo.txt не существует в указанном месте, отображается ошибка.
Для чтения всего файла напишите, print(f.read())

Мы можем прочитать файл построчно, используя цикл for,

 для i в f:
print(i, end= ‘ ’) 

# считывает содержимое построчно.

Мы можем прочитать одну строку, используя readline()

 f. readline() 

Используется для чтения отдельных строк.

Добавление к файлу в Python

Для добавления содержимого в файл мы открываем файл с помощью open() в режиме append(a), а затем используйте метод write() для записи содержимого в файл.

 F = открыть («sample1.txt», «а»)
F.write("Добавление этого предложения в файл")
F.close() 

Для каждой программы Python, когда мы используем файлы, закрытие файла должно использовать метод close() .

Мы также можем открыть файл с помощью метода open() в режиме добавления плюс(а+), а затем использовать метод write() для записи содержимого в файл.

 F = открыть («sample1.txt», «а+»)
F.write("Добавление этого предложения в файл")
F.close() 

Это записывает или добавляет содержимое в файл, а затем также читает файл и, наконец, закрывает файл.

У нас также есть несколько методов обработки файлов в Python, метод seek() и метод tell() .

seek() Метод используется для изменения положения указателя файла.

tell() Метод используется для указания текущей позиции указателя файла.

Другие методы, такие как detach(), fileno(), flush(), isatty()..

Вывод:

1. Во-первых, мы обсудили файлы и почему обработка файлов используется в python.

2. Мы знаем типы файлов, обычные текстовые файлы и двоичные файлы.

3. Текстовые файлы имеют терминатор для каждой строки со специальным символом в python.

4. Двоичные файлы записываются на двоичных языках, т. е. 0 и 1, что не требует терминатора.

5. Нам был известен режим доступа для обработки файлов в python, режимы доступа: режим чтения (r), режим чтения плюс (r+), запись (w), запись плюс (w+), добавление (a), добавление plus(a+), бинарный режим(b) и в python есть много других режимов для работы с файлами.

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

7. Мы обсудили каждый режим с примерами, используя программирование на Python.

8. Наконец мы обсудили различные другие методы, используемые для обработки файлов в python.

Надеюсь, вам понравился блог и вы узнали из него новые знания 🙂

Лучшее объяснение файлового ввода-вывода (ввода/вывода) Python с примерами

Содержание

Advertisements

В этом руководстве по Python мы рассмотрим файловый ввод-вывод Python (ввод/вывод) с примерами. Если вы следите за серией учебных пособий по Python, то в предыдущем руководстве мы обсуждали ошибки и встроенные исключения в Python, поэтому в этом руководстве мы продолжим и обсудим еще одну важную концепцию файлового ввода-вывода Python (ввод/вывод). ).

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

Читайте также: Ошибки и встроенные исключения в Python с лучшими примерами

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

r -> Открывает файл в режиме чтения. (режим по умолчанию). Читается с начала файла.

r+ -> Открывает файл как для чтения, так и для записи. Читается с начала файла.

w -> Открывает файл в режиме записи. Он перезаписывает файл, если он уже существует. Если созданный файл не существует, он сначала его записывает.

w+ -> Открывает файл как для чтения, так и для записи. Он перезаписывает файл, если он уже существует. Если файл не существует, он создан; сначала потом пишет.

Реклама

x -> Эксклюзивное создание; терпит неудачу, если файл уже существует.

a -> Открывает файл в режиме записи. Если файл существует, он пишет с конца файла. Если файл не существует, он создает его, а затем записывает.

a+ -> Открывает файл как в режиме чтения, так и в режиме записи. Если файл существует, запись начинается с конца файла. Если файл не существует, он создает его, а затем записывает.

t -> Открывает файл в текстовом режиме (по умолчанию)

b -> Открывает файл в двоичном режиме. Подробнее о вводе и выводе файлов Python. Официальная документация .

Открыть файл в Python

Чтобы открыть файл в Python, мы используем open() встроенную функцию. Нет необходимости импортировать какой-либо модуль, чтобы использовать эту функцию.

Синтаксис

 open("Имя файла", "Режим", "Кодировка") 

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

Мы используем файл Recipe.txt ниже во всех приведенных ниже примерах.

Рецепт.txt:-

 Рецепт
Кипящая вода
Добавить ингредиенты
Готовить 10 минут
Готовы съесть !! 

Пример программы

 import os
импортировать сенсорный

ОС.getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")

файл = открыть ("Recipe.txt", "r", encoding='utf-8')
для строки в файле:
печать (строка, конец = "") 

Вывод

 C:\Users\adam\PycharmProjects\Demo\venv\Scripts\python.exe C:/Users/adam/PycharmProjects/Demo/File_io.py
Рецепт
Кипящая вода
Добавить ингредиенты
Готовить 10 минут
Готовы съесть !! 

Закрыть файл в Python

Чтобы закрыть файл в Python, мы используем встроенную функцию close() . Нет необходимости импортировать какой-либо модуль, чтобы использовать эту функцию.

Синтаксис

 fileObject.close() 

Пример программы

 импорт ОС
импортировать сенсорный

ОС.getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")

файл = открыть ("Recipe.txt", "r", encoding='utf-8')
для строки в файле:
печать (строка, конец = "")
file.close() 

Вывод

 C:\Users\adam\PycharmProjects\Demo\venv\Scripts\python.exe C:/Users/adam/PycharmProjects/Demo/File_io.py
Рецепт
Кипящая вода
Добавить ингредиенты
Готовить 10 минут
Готовы съесть !! 

‘с’ В Python

Когда мы работаем с большим количеством файлов в Python, мы можем забыть закрыть несколько файлов, что вызовет ошибку, если какой-либо другой объект попытается работать с тем же файлом. Мы можем использовать 'с' в таких случаях, которые будут неявно закрывать файлы после завершения выполнения операторов в своем блоке.

Пример программы

 import os
импортировать сенсорный

ОС. getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")
с open("Recipe.txt", "r", encoding='utf-8') в виде файла:
для строки в файле:
печать (строка, конец = "") 

Вывод

 C:\Users\adam\  PycharmProjects\Demo\venv\  Scripts\python.exe C:/Users/adam/  PycharmProjects/Demo/File_io.  года
Рецепт
Кипящая вода
Добавить ингредиенты
Готовить 10 минут
Готовы съесть !!

Процесс завершен с кодом выхода 0 

Чтение файла в Python

В Python мы можем прочитать файл, используя несколько методов. Они определены ниже.

1. чтение() -> Метод read() принимает количество символов для чтения в качестве параметра. По умолчанию, если аргумент не передан, он будет считываться до EOF . В приведенном ниже примере первый оператор печати будет читать 7 символов, второй будет читать 6 символов, а последний оператор печати будет читать до EOF .

Пример программы

 import os
импортировать сенсорный

ОС.getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")
с open("Recipe.txt", "r", encoding='utf-8') в виде файла:
печать (файл. чтение (7))
печать (файл. чтение (6), "\ п")
печать (файл. чтение ()) 

Вывод

 C:\Users\adam\PycharmProjects\Demo\venv\Scripts\python.exe C:/Users/adam/PycharmProjects/Demo/File_io.py
Рецепт
Кипятить
Вода
Добавить ингредиенты
Готовить 10 минут
Готовы съесть !!
Процесс завершен с кодом выхода 0 

2. Метод seek()/tell() -> tell() в python сообщает текущую позицию курсора. Метод seek() в python устанавливает курсор в указанную позицию, которую мы передаем ему в качестве аргумента. В приведенном ниже примере мы читаем первые 7 символ, затем tell() показывает позицию курсора 7 . метод seek() сбрасывает позицию курсора на символ 20 . read() начнет чтение с этого символа и далее до EOF .

Пример программы

 import os
импортировать сенсорный

ОС.getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")
с open("Recipe.txt", "r", encoding='utf-8') в виде файла:
печать (файл. чтение (7))
печать (файл.рассказать())
печать (файл. искать (20))
печать (файл. чтение ()) 

Вывод

 C:\Users\adam\PycharmProjects\Demo\venv\Scripts\python.exe C:/Users/adam/PycharmProjects/Demo/File_io.py
Рецепт
7
20
Добавить ингредиенты
Готовить 10 минут
Готовы съесть !!
Процесс завершен с кодом выхода 0 

3. Метод readline() -> readline() в python читает файл, пока не найдет новый символ строки. Следовательно, он читает отдельные строки, включая символ новой строки. В приведенном ниже примере первый оператор печати напечатает 'Рецепт' , так как после него находит символ новой строки. Второй оператор печати напечатает Boil Water , так как после него будет найден символ новой строки.

Пример программы

 import os
импортировать сенсорный

ОС.getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")
с open("Recipe.txt", "r", encoding='utf-8') в виде файла:
печать (файл.readline())
print(file.readline()) 

Вывод

 C:\Users\adam\PycharmProjects\Demo\venv\Scripts\python.exe C:/Users/adam/PycharmProjects/Demo/File_io.py
Рецепт
Кипящая вода
Процесс завершен с кодом выхода 0 

4. readlines() -> readlines() метод в python читает остальные строки в файле и возвращает в виде списка. В приведенном ниже примере первый оператор печати вернет первую строку, а второй оператор печати вернет остальные строки в виде списка.

Пример программы

 import os
импортировать сенсорный

ОС.getcwd()
os.chdir(r"C:\Пользователи\адам\Рабочий стол")
с open("Recipe. txt", "r", encoding='utf-8') в виде файла:
печать (файл.readline())
печать(файл.readlines()) 

Вывод

 C:\Users\adam\PycharmProjects\Demo\venv\Scripts\python.exe C:/Users/adam/PycharmProjects/Demo/File_io.py
Рецепт
['Вскипятить воду\n', 'Добавить ингредиенты\n', 'Готовить 10 минут\n', 'Готово!!\n', '        ']
Процесс завершен с кодом выхода 0 

Запись файла в Python

В Python для записи в файл мы должны сначала открыть его либо в режиме 'w' , либо в режиме 'a' . Если открыть в режиме «w», он перезапишет существующий файл, и все предыдущие данные будут потеряны. Если открыть в 'a' , он добавит конец файла. Для выполнения операции записи в файлы используются методы write() и writelines() .

Пример программы

 list1 = ["Это\n", "есть\n", "первый\n", "файл\n"]  с open("Test.txt", 'w', encoding='utf-8') в виде файла:
file.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *