- •Стиль программирования на языке Python.
- •Программа на Python. Ввод-вывод данных. Основные алгоритмические конструкции. Последовательные действия.
- •Идентификаторы, комментарии, логические и физические строки.
- •Встроенные типы данных. Целые и вещественные типы данных.
- •Типы: комплексные числа, логический
- •Встроенные функции для работы с разными типами данных.
- •Возможности модуля math
- •Оператор условия. Варианты написания оператора.
- •Операторы цикла: for, while.
- •Функции range, enumerate.
- •Операторы break, continue.
- •Строки, работа со строками, срезы, методы и функции для работы со строками
- •Списки. Создание списков, методы и функции для работы со списками. Методы join и split.
- •Кортежи. Создание кортежей, обращение к элементам кортежей.
- •Множества. Создание, добавление элементов. Методы и операции для работы с множествами.
- •Словари. Создание словарей, добавление элементов, обращение к элементам. Методы для работы со словарями.
- •Методы словарей
- •Именованные функции: определение и вызов.
- •Именованные функции Объявление функции и вызов
- •Аргументы функций: обязательные, ключевые, со значением по умолчанию, произвольной длины
- •Глобальные и локальные переменные.
- •Написание рекурсивных функций
- •Анонимные функции (lambda-выражение)
- •Понятие модуля. Модули в Python. Подключение модулей. Создание своего модуля и пакета модулей.
- •Использование псевдонимов
- •Модуль math, Модуль random
- •Модуль datatime, Модуль itertools
- •Модуль itertools
- •Модуль itertools. Бесконечные последовательности
- •Модуль itertools. Генерация комбинаций значений!
- •Оператор try ... Exept
- •Пример оператора try...Except.
- •Работа с текстовыми файлами: открытие файла, ввод, вывод данных
Работа с текстовыми файлами: открытие файла, ввод, вывод данных
При работе с файлами необходимо : открыть файловый поток для чтения/записи/дозаписи, считать/записать данные, закрыть файловый поток. Открытие файлового потока Открытие файлового потока производится с помощью функции open. Формат записи этой функции: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) - возвращает файловый поток У этой функции много параметров, через знак равенства указаны значения параметров по умолчанию. Рассмотрим первые два из них. file - строка с именем файла на диске. Если файл лежит в папке, отличной от папки с программой, то нужно указать полный путь к файлу mode - строка, которая означает режим открытия файла (для чтения/ для записи). Значение по умолчанию этого параметра 'r' - открыть для чтения. Режимы открытия файла могут быть следующими 'r' открытие на чтение (является значением по умолчанию) 'w' открытие на запись, содержимое файла удаляется, если файла не существует, создается новый 'x' открытие на запись, если файла не существует, иначе исключение 'a' открытие на дозапись, информация добавляется в конец файла 'b' открытие в двоичном режиме 't' открытие в текстовом режиме (является значением по умолчанию) '
Последний аргумент, encoding, нужен только в текстовом режиме чтения файла. Этот аргумент задает кодировку файла. Следующая команда открывает файл file_name.txt из текущей папки для чтения, f - файловый поток, связанный с этим файлом. f = open('file_name.txt') Чтение из файла Открыли мы файл, а теперь мы хотим прочитать из него информацию. Для этого есть несколько способов. f.read([size]) – считывает некоторый объем данных размера [size] из файла f.read() – считывает весь файл f.readline() – считывает строку из файла f.readlines() – считывает все содержимое файла и возвращает список строк. После работы с файлом его надо закрыть с помощью метода close: f.close(). Рассмотрим примеры считывания данных из файла In [8]: f = open('file_name.txt') s = f.read() #считали все содержимое файла в строку s print(s) #вывели строку со всем содержимым файла f.close() #закрытие файла В файле содержится некоторая текстовая информация Строка 1 Строка 2 И еще чуть-чуть текста Конец текста f = open('file_name.txt') s = f.readline() #считали первую строку файла в строку s print(s) #вывели первую строку файла f.close() #закрытие файла В файле содержится некоторая текстовая информация :
f = open('file_name.txt') s = f.readlines() #считали все содержимое файла в список s print(s) #вывели список строк f.close() #закрытие файла ['В файле содержится некоторая текстовая информация\n', 'Строка 1\n', 'Строка 2\n', 'И еще чуть-чуть текста\n', 'Конец текста'] Получили список, элементы которого - строки файла. Символ '\n' - специальный символ, который означает переход на новую строку.
Есть ещё один способ прочитать файл построчно, воспользовавшись циклом for. In [11]: f = open('file_name.txt') for line in f: print(line) В файле содержится некоторая текстовая информация Строка 1 Строка 2 И еще чуть-чуть текста Конец текста
Запись в файл Теперь рассмотрим запись в файл. Для записи данных в файл существует несколько методов f.write(s) записывает в файл строку s f.writelines( <последовательность строк>) – записывает в файл <последовательность строк> Попробуем записать в файл список чисел от 1 до 100 с шагом 5. Для этого откроем файловый поток для записи и свяжем его с файлом text.txt из текущей папки. Если файла не существует, то программа создаст его. Если такой файл в папке уже имеется, то его содержимое будет стерто, и он будет открыт для записи. f = open('text.txt', 'w') for i in range(1, 101, 5): f.write(str(i) + ' ') f.close() Теперь попробуем вывести то, что мы записали в файл text.txt In [13]: g = open('text.txt') #открыли файл для чтения print(g.read()) #вывели на экран все содержимое файла g.close() #закрыли файловый поток Дан текстовый файл input.txt. Найти в файле самую длинную строку. Если таких строк несколько, то вывести ту, которая встречается первой. f = open('input.txt') #открытие файлового потока s = f.readlines() #считали все содержимое файла в список s s.sort(key=lambda x:len(x), reverse=True)# отсортируем строки в порядке убывания длины строк print(s[0]) #строка с максимальной длиной f.close() #закрытие файлового потока