Файловый ввод-вывод — Python documentation
Файловый ввод-вывод — Python documentationОбычно работа с файлами состоит из следующих этапов:
Открыть файл. При открытии следует указать режим: чтение или запись.
Выполнить чтение или запись данных.
Закрыть файл.
Рассмотрим функции для выполнения этих действий.
-
open
(file_path, mode=’r’) Открыть файл
file_path
в режимеmode
. Функция возвращаетfile object
. Полная сигнатура функции приведена в официальной документации: open. Режим может принимать значения:'r'
— read, чтение'w'
— write, запись
-
f.
write
(text) Записать строку
text
в файл.
-
f.
() Прочитать все данные из файла
-
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()
Задачи
Написать программу, которая будет получать у пользователя строку и записывать её в файл “data.txt”
Разработать приложение, которое записывает в файл все строки, введенные пользователем. Признак конца ввода — пустая строка. Пример:
Введите имя файла: data.txt Начните вводить строки > one > two > three > Файл записан.
После выполнения программы должен появиться файл
data.txt
, содержащий три строки:one two three
Написать программу, которая будет получать у пользователя путь к файлу и выводить его содержимое на экран
Доработать предыдущее приложение для нумерации строк в файле. Приложение принимает на вход имя файла и выводит его построчно, добавляя к каждой строке её номер. Если использовать файл, созданный в предыдущей задаче, то результат работы программы будет выглядеть так:
Введите имя файла: data.txt 1 one 2 two 3 three
Используйте метод строки
rstrip()
, чтобы избавиться от лишних переносов сток. После этого результат работы программы примет вид:Введите имя файла: data.txt 1 one 2 two 3 three
Разработать приложение для разделения файла на части. Приложение принимает на вход имя файла для разделения и целое число 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
И так далее.
Разработать приложение для объединения файлов. Приложение принимает на вход имена файлов для объединения (можно использовать файлы, полученные из предыдущего задания) и имя выходного файла.
Дополнительные задачи
Разработайте приложение, которое выводит
N
первых строк файла.Разработайте приложение, которое выводит
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 — статьи
Файловый ввод-вывод
|
Чтение и запись файлов в Python
Python — это объектно-ориентированный язык высокого уровня, который поддерживает множество встроенных функций, которые просты в использовании для пользователей.
Python имеет встроенные функции для обработки файлов, такие как создание файла, запись в файл, чтение файла и обновление файла.
Объем статьи
→ В этой статье мы узнаем о функциях обработки файлов в python.
→ Мы будем знать каждую функцию обработки файла, такую как открытие файла, закрытие файла, создание файла, запись в файл, чтение файла и обновление файла.
→ Некоторые методы работы с файлами в python.
Введение
→ Функции обработки файлов: создание файла, запись в файл, чтение файла и обновление файла.
→ Файлы обычно используются для хранения информации, полученной из программ.
→ Файлы бывают двух типов: обычные текстовые файлы и двоичные файлы.
→ Текстовые файлы имеют разделитель для каждой строки со специальным символом в python.
→ Двоичные файлы записываются на двоичных языках, т. е. 0 и 1, что не требует терминатора.
→ Поскольку это двоичные файлы, данные сохраняются в файле после преобразования его в машинопонятный двоичный язык.
→ У нас разные режимы доступа к файлам. Давайте обсудим их.
Режимы доступа для использования файлов
Режимы доступа здесь используются для открытия файла в этом конкретном режиме и последующего доступа в указанном режиме.
Режимы доступа в python:
- Только чтение (‘r) : Открытие файла только для чтения и указатель файла, расположенный в начале файла.
Если выбранный файл не существует, возвращается ошибка.
- Чтение и запись («r+»): При открытии файла для чтения и записи указатель файла располагается в начале файла.
Если выбранный файл не существует, возвращается ошибка.
- Только запись (‘w’): Открытие файла для записи содержимого в файл, положение указателя файла в начале файла.
Если выбранный файл не существует, возвращается ошибка.
- Запись и чтение («w+»): При открытии файла для чтения и записи указатель файла располагается в начале файла.
- Только добавление (‘a’): При открытии файла для записи указатель файла располагается в конце файла.
Если выбранный файл не существует, он создает файл и использует его.
- Добавление и чтение(‘a+’): При открытии файла для чтения и записи указатель файла располагается в конце файла.
Если выбранный файл не существует, он создает файл и использует его.
- Двоичный (‘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 имеет встроенный функция для закрытия файла, которая является функцией
Синтаксис:
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 с лучшими примерами
Режимы файла Pythonr -> Открывает файл в режиме чтения. (режим по умолчанию). Читается с начала файла.
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\Чтение файла в PythonPycharmProjects\Demo\venv\ Scripts\python.exe C:/Users/adam/ PycharmProjects/Demo/File_io. года Рецепт Кипящая вода Добавить ингредиенты Готовить 10 минут Готовы съесть !! Процесс завершен с кодом выхода 0
В 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.