Файловый ввод-вывод — 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’)
Открытие файла в чтение и запись в двоичном режиме,
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
Все файлы в Python рассматриваются как текстовые файлы, то есть они разбиты на блоки, называемые строками. Однако существует также понятие, называемое файловым указателем или файловым объектом. Указатель файла подобен курсору в текстовом процессоре, который находится между символами в файле. Когда мы читаем из файла, мы читаем от указателя файла вправо. Точно так же все записи, выполняемые в файл, будут выполняться от указателя файла и далее, перезаписывая, если файл уже содержал данные справа от указателя файла, в противном случае размер файла увеличивается по мере необходимости. При чтении и записи файла перемещайте указатель файла в конце последовательности чтения или записи. >>> f = open("fileName.txt","r") # f - файловый объект или указатель на файл, а 'r' означает, что файл открыт для чтения >>> ф <открыть файл 'fileName.txt', режим 'r' по адресу 0xb7dacentered> >>> тип(ф) <тип 'файл'> Функция open принимает два параметра: во-первых, путь к открываемому файлу, а во-вторых, строку, указывающую режим (чтение, запись или добавление), в котором нужно открыть файл. Допустимые строки для режима:
Предположим, мы хотим открыть файл с именем File2Read.txt (см. вложение) для чтения содержимого. Есть 2 способа сделать это. Мы можем читать построчно или можем прочитать весь файл сразу. Сначала нам нужно открыть файл для чтения. >>> f = open('File2Read.txt', 'r') # открыть File2Read.txt для чтения ('r'), f - указатель файла или объект файла Указатель файла или файловый объект теперь находится в начале файла Чтение файла построчно >>> f. readline() # прочитать первую строку Обход строки файла строка с циклом for >>> f = open('File2Read.txt', 'r') # открыть File2Read.txt для чтения Одновременное чтение файла >>> f = open('File2Read.txt', 'r') # open File2Read.txt для чтения Если указатель файла f находится в конце файла, возвращается пустая строка. Если вы хотите снова прочитать файл после того, как прочитали его один раз, вам нужно переместить курсор чтения обратно в начало с помощью функции f.seek(0)
Теперь предположим, что мы хотим создать файл и записать в него следующие строки: Сначала создайте файл, в который вы хотите выполнить запись. Выберите подходящее имя для вашего файла, например, Write2File.txt. >>> fpr = open('Write2File.txt', 'w') # Создать файл с именем Write2File.txt для записи ('w'), fpr - указатель на файл или файловый объект Если вы забыли символ новой строки \n, ваш файл будет содержать только одну строку! Файл Write2File.txt будет создан в текущем рабочем каталоге. Вы можете использовать gedit или ваш любимый редактор для просмотра созданного вами файла. Написание сразу нескольких строк. >>> fpr = open('Write2File.txt', 'w') # Создать файл с именем Write2File.txt для записи Форматирование выходных данных в файл Предположим, вам дан список учеников и их соответствующие оценки, и вы хотите написать файл, в котором первый столбец содержит имена учеников а второй столбец содержит соответствующие отметки. То есть ваш файл должен выглядеть следующим образом: Имена студентов Марки >>> std = open ('StudentMarks.txt', 'w') # Create File STUDYMARKS.TXT для написания |