Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 17. Файлы. Строки. Форматный ввод-ввод. Сортировка в файлах

Лекция 17. Файлы. Строки. Форматный ввод-ввод. Сортировка в файлах (Воробьева И.А. «Информатика. Язык Питон» (2016)), страница 2

PDF-файл Лекция 17. Файлы. Строки. Форматный ввод-ввод. Сортировка в файлах (Воробьева И.А. «Информатика. Язык Питон» (2016)), страница 2 Информатика (51798): Лекции - 1 семестрЛекция 17. Файлы. Строки. Форматный ввод-ввод. Сортировка в файлах (Воробьева И.А. «Информатика. Язык Питон» (2016)) - PDF, страница 2 (51798) - Студ2019-09-06СтудИзба

Описание файла

Файл "Лекция 17. Файлы. Строки. Форматный ввод-ввод. Сортировка в файлах" внутри архива находится в папке "Воробьева И.А. «Информатика. Язык Питон» (2016)". PDF-файл из архива "Воробьева И.А. «Информатика. Язык Питон» (2016)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

Различают файлы:с последовательным доступом – это файлы, в которых нельзяпрочитать очередную запись, не прочитав все предыдущие; к такимфайлам относятся текстовые файлы.с прямым доступом – это файлы, в которых можно перейти внужную позицию в файле и считывать записи с этой позиции; к такимфайлам относятся двоичные файлы.12.2. Строки и текстовые файлы.Так как работа с текстовым форматом тесно связана с символьнымтипом данных, которые в Python представлены типом «строка», приведемряд полезных функций и напомним основные операции над строками.Функции, операции и все возможные вариации параметров описать врамках лекции невозможно, поэтому дадим только обзор возможностей.8Воробьева И.А. «Информатика.

Язык Питон»Таблица 12.2.Базовые операцииназваниеКонкатенация (сложение)ДублированиеДлина строкиДоступ по индексу – в Pythonестьотрицательныеиндексы, нумерация ихначинаются с конца массивас номера «-1»Срез – это подмножествострокивыбранноепоправилу [START:STOP:STEP],где берётся срез от номераSTART, до STOP (не включаяего), с шагом STEP.Срез достаточно гибкаяконструкция,приведемтолько часть вариантов ееиспользования..пример работы в интерпретаторе Python>>> s1 = 'пара'>>> s2 = 'метр'>>> print(s1 + s2)'параметр'>>> print('MА' * 2)МАМА>>> len('Привет')6>>> S = 'Привет'>>> S[0]'П'>>> S[5]'т'>>> S[-1]'т'>>> S[-6]'П'>>> S = 'Привет'>>> S[3:5]'ве'>>> S[0:5:2]'Пие'>>> S[:3] # есть только STOP'При'>>> S[3:] # есть только START'вет'9Воробьева И.А.

«Информатика. Язык Питон»Таблица 12.3.Функции и методы строкназваниепример работыPythonПоиск подстроки s1 в строке S. >>> s = 'парапапа'Возвращает номер первого >>> s.find('па')вхождения или -1S.find(s1)0вПоиск подстроки s1 в строке S.

>>> s.rfind('па')Возвращает номер последнеговхождения или -1S. rfind(s1)6Замена шаблона>>> s.replace('па','м')S.replace(шаблон, замена)Разбиениестрокипоразделителю.Возвращаетмассив из строк.S.split(разделитель)'мрамм'>>> s = 'Привет. Я друг!'>>> s.split('р')['П', 'ивет. Я д', 'уг.']Если разделитель не указан, то >>> s.split('ру')разбиение строки происходитпо символу пробела.['Привет. Я д', 'г.']Сборка строки из списка. При >>>s = '..'этом соединителем элементов >>>s.join(['1', '2'])списка будет строка S'1..2'S.join(список)>>>s = ', '>>>s.join(['-10', '22'])'1, 2'Другие функции и методы строк# Состоит ли строка из цифрS.isdigit()интерпретаторе10Воробьева И.А. «Информатика.

Язык Питон»# Состоит ли строка из буквS.isalpha()# Состоит ли строка из символов в нижнем регистреS.islower()# Состоит ли строка из символов в верхнем регистреS.isupper()# Преобразование строки к верхнему региструS.upper()# Преобразование строки к нижнему региструS.lower()# Символ в его код ASCIIord(символ)# Код ASCII в символchr(число)# Первую букву каждого слова переводит в верхний регистр, а всеостальные в нижнийS.title()Функция str().Функция str() преобразует данные в строку подобно известным намфункциям приведения типов int(), float() и complex(). Для любого типаданных можно получить строковое представление.

Приведем пример.>>> str(1)'1'>>> colors = ['белый', 'красный', 'синий']>>> str(colors)"['белый', 'красный', 'синий' ]">>> Mas = (-1, 35, 0)>>> str(Mas)"(-1, 35, 0)"Вы, наверное, ожидали, что str() будет работать только с такимипростыми типами данных, как целые числа, так как почти каждый языксодержит функцию для преобразования целого числа в строку. Однако,str() работает и с объектами других типов. В данном случае мы получаемстроковое представление списка.11Воробьева И.А. «Информатика.

Язык Питон»Функции для работы с текстовым файлом.В языке Python не составляет труда считать содержимое текстовогофайла в строковые переменные, где затем это содержимое можно преобразовывать в другие типы данных, если потребуется.Для работы с файлом создается файловая переменная (файловыйобъект).

Также встречается понятие указатель в файле (дескрипторфайла) – указатель определяет текущую позицию в файле при считывании: начало файла, номер записи в середине файла, конец файла.Общий механизм взаимодействия с файлом следующий.Необходимо объявить файловую переменную, связать ее с именемконкретного файлом соответствующего типа, открыть файл в режимечтения или записи, произвести чтение или запись в необходимомколичестве, обязательно закрыть файл. Теперь изложим этот механизм суказанием конкретных функций для файлов текстового типа.Пусть мы хотим назвать файловую переменную fd (имя может бытьлюбое).Таблица 12.4.fd = open(‘имя текстового файла’, 'режим открытия')'r' - для чтения'w' – для записи (если файл существует, то будет очищен)'a' – для добавления записей в конец файла'r+' – для обновления (чтение и запись)По умолчанию выбирается режим текстовых файлов. Если надо открыть врежиме бинарных файлов, тогда добавляют ‘b’, например:'rb' - для чтения двоичного файла'r+b' – для обновления (чтение и запись) двоичного файла и т.д.Замечание.

Если файл и использующая его программа находятся в однойпапке на компьютере, тогда достаточно указать только имя файла. Еслиэто не так, тогда необходимо указывать полный путь к файлу.12Воробьева И.А. «Информатика. Язык Питон»Таблица 12.5.После использования файла его обязательно надо закрыть:fd.close().В этом случае в конец файла записываются специальные служебныесимволы, которые потом позволяют его корректно заново открывать.Например, в любом файле, после содержимого должен быть прописантак называемый «признак конца файла» -- EOF, на которыйориентируются большинство функций, работающих с файлами.Файловые объекты обеспечивают три метода чтения: read(), readline() иreadlines(). Каждый из этих методов может принимать аргумент для ограничения объема данных (количество байт), считываемых за один раз,однако в основном они используются без аргумента.read() считывает весь файл за один раз (если позволяет объемимеющейся оперативной памяти), и обычно используется для помещения содержимого файла в одну строковую переменную.

Он не очень удобен, когда нужно обрабатывать файл построчно.readline() и readlines() очень похожи. Различие между readline() иreadlines() в том, что readlines(), как и read(), считывает весь файл за одинраз, если позволяет размер ОП.readlines() автоматически разносит содержимое всех строк файла вмассив строк, который может быть обработан с помощью конструкцииязыка Python for ... in ....readline() считывает только одну строку за одно обращение к файлу, и в целом работает гораздо медленнее, чем readlines().Для записи в файл используется функция write().Приведем пример записи нового текста в файл и последующего считывания содержимого этого файла (двумя способами readline() и readlines(),чтобы показать разницу в работе с ними).13Воробьева И.А.

«Информатика. Язык Питон»Пример:Lyric = '''Тихо, словно бы во сне,Закружился в тишинеПервый снег и зашептал:— Как давно я не летал!(В. Ланцетти)'''line = ’’ # строковая переменная для построчного считывания# из файлаfd = open('Verse.txt', 'w')# открываем файл для записи (writing)fd.write(Lyric)# записываем текст в файлfd.close()# закрываем файл Verse.txtfd = open('Verse.txt', 'r') # открываем файл для чтения (reading)# хороший повод использовать цикл с постусловиемwhile True:line = fd.readline() # считываем в цикле построчно# все пять строк файлаif len(line) == 0: # Нулевая длина обозначает конец файла (EOF)break # обеспечим выход из цикла с постусловиемprint(line, end='')fd.close()# выводим на экран тоже построчно,# причем убираем лишний перевод# каретки, который делает функция# print(), так как он у нас итак есть# в конце каждой строки текста# закрываем файл# используем второй способ – считывание сразу всех строк в# массив : [ ['Тихо, словно бы во сне,\n], [Закружился в тишине\n], [Первыйснег и зашептал: \n], [— Как давно я не летал! \n], [(В.

Ланцетти) \n] ]fd = open('Verse.txt', 'r') # вновь открываем файл для чтенияfor line in fd.readlines():# переменная line пробегает# по всем значениям массива из строкprint (line, end='')fd.close()# закрываем файл14Воробьева И.А. «Информатика. Язык Питон»Вывод (дважды):Тихо, словно бы во сне,Закружился в тишинеПервый снег и зашептал:— Как давно я не летал!(В. Ланцетти)12.3. Форматный ввод и выводДовольно часто возникают ситуации, когда нужно сделать строку,подставив в неё некоторые данные, полученные в процессе выполненияпрограммы (пользовательский ввод или вывод, данные из файлов и т.

д.).Подстановку данных можно сделать с помощью метода форматированиястрок format(), который применяют к любой переменной или константестрокового типа.Метод format() – мощный инструмент форматирования строк иимеет достаточно много опций, которые нет смысла запоминать наизусть.Приведем наиболее часто используемые опции, а полный их списоквсегда можно посмотреть в справочниках при необходимости.Форматирование строк с помощью метода format1.

Если для подстановки требуется только один аргумент, тозначение - сам аргумент, значение будет вставлено в строку на местофигурных скобок:>>> 'Привет, {}!'.format('Вася')'Привет, Вася!'2. А если несколько, то значениями будут являться все аргументы состроками подстановки, причем можно указывать порядок подстановкиаргументов (идексация начинается с нуля):>>> '{0}, {1}, {2}'.format('a', 'b', 'c')'a, b, c'>>> '{2}, {1}, {0}'.format('a', 'b', 'c')'c, b, a'# в обратном порядке15Воробьева И.А. «Информатика. Язык Питон»>>> '{0}{1}{0}'.format('АБРА', 'КАД')'АБРАКАДАБРА'3. Можно использовать именование аргументов для подстановки:>>> 'Координаты: {W}, {L}'.format(W='37.24', L='-115.81')'Координаты: 37.24, -115.81'4.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5221
Авторов
на СтудИзбе
429
Средний доход
с одного платного файла
Обучение Подробнее