Главная » Просмотр файлов » Саммерфилд - Программирование на Python 3

Саммерфилд - Программирование на Python 3 (1077331), страница 77

Файл №1077331 Саммерфилд - Программирование на Python 3 (Саммерфилд - Программирование на Python 3) 77 страницаСаммерфилд - Программирование на Python 3 (1077331) страница 772018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 77)

255) в объект Ьа ти- па Ьутеаггау ьа.зррепо(!) Возвращает копию объекта Ь типа Ьутев или Ьу1еа ггау, с пер- вым символом в верхнем регистре (если это символ АЯСН) Ь.сар!та1!ге() Возвращает копию объекта Ь, отцентрированную в поле ши- риной н!Втп. Недостающие символы по умолчанию заполня- ются пробелами или символами, в соответствии с необяза- тельным аргументом Ьуте ь.септег(н!Ьть, Ьуте) Возвращает число вхождений объекта х типа Ьутев или Ьуте- аггау, в объект Ь типа Ьутев или Ьутеаггау (или в срез Ь(птагт:епа]) Ь соьпт (х, згагг, епа) Возвращает объект типа зтг, представляюКодировхи щий результат декодирования байтов с использованием кодировки [)ТР-8 или коли' стр.112 розки, определяемой аргументом епооо[пд, с обработкой ошибок, определяемой необязательным аргументом егг Ь.оесосе (епсошпд, еггог) Возвращает тгое, если ь (или срез ь(птагт: епа]) оканчивает- ся содержимым объекта х тина ьутев или ьутеаггау или лю- бым из объектов типа Ьутез или Ьутеаггау в кортеже х; в противном случае возвращает Рз1зе Ь,еповнттп (х, птпгт, епо) Возвращает копию объекта Ь, в котором символы табуля- ции замещены пробелами с шагом 8 или в соответствии со значением необязательного аргумента з тле ь.ехрапстаьз (юге) ьа.ехтепо(зеч) Возвращает позицию самого первого (крайнего слева) вхождения объекта х типа ьутев/ьутеаггау в объект ь (или в срез ь( п та гс: епо]); если объект х не найден, возвращается -1.

Для поиска самого последнего (крайнего справа) вхождения следует использовать метод гттпс() Ь.у!по (х, зтагт, епа) Возвращает объект типа Ьутез, который содержит байты, со- ответствующие шестнадцатеричным значениям в строке Ь Ь.тгоапех(Ь) Возвращает позицию самого первого (крайнего слева) вхождения объекта х в объект ь (или в срез строки ь(зтпгт: епо])1 если объект х не найден, возбуждается исключение Уа1оеЕггог. Для поиска самого последнего (крайнего справа) вхождения следует использовать метод гтппех() Ь, шоех (х, зтагт, епа) Вставляет целое число ! (в диапазоне 0...255) в позицию р в объекте Ьа ьа тпвегт(р, !) Дополняет объект Ьа типа Ьутеаггау целыми числами из по- следовательности зес.

Все целые числа должны находиться в диапазоне 0...255 Глава 7. Работа с файлами 34б Таблица 7.3 /продолжение) Синтаксис Описание Возвращает Тгие, если объект Ь типа Ьутев/Ьутеаггау не пустой и содержит только алфавитно-цифровые символы АЯСП Ь. 1ва!ппв() Возвращает тгсе, если объект ь типа ьутев/ьутеаггау не пус- той и содержит только алфавитные символы АЯСП Ь. 1ва1рпа() Возвращает Тгие, если объект Ь типа Ьутев/Ьутеаг гау не пус- той и содержит только цифровые символы АЯСП ь.!вс!р!т() Возвращает Тгсе, если объект Ь типа Ьутев/Ьутеаггау содер- жит хотя бы один символ АЯСП, который может быть пред- ставлен в нижнем регистре, и все такие символы находятся в нижнем регистре Ь.тв1свег() Возвращает Тгсе, если объект Ь типа Ьутев/Ьутеаггау не пустой и содержит только пробельные символы из набора АЯСП Ь.!вврасе() Возвращает Тгсе, если объект Ь не пустой и имеет формат за- головка ь.твты1е() Возвращает Тгсе, если объект ь типа ьутев/ьутеаггау содер- жит хотя бы один символ АЯСП, который может быть пред- ставлен в верхнем регистре, и все такие символы находятся в верхнем регистре Ь !виррег() Объединяет все элементы типа ьутев/ьутеаггву в последова- тельности вес, вставляя между ними объект Ь (который мо- жет быть пустым) Ь.)с!п(вес) Возвращает копию объекта Ь типа Ьутев/Ьутез г гау выровнен.

ной по левому краю в поле шириной в!Стп. Недостающие символы по умолчанию заполняются пробелами или символами, в соответствии с необязательным аргументом ауте. Для выравнивания по правому краю используйте метод г)пвт() Ь. 1) свт (ю!стп, Ьуте) Возвращает копию объекта Ь типа Ьутев/Ьутеаггау, в кото- ром все символы АЯСП приведены к нижнему регистру Ь 1свег() Ь.

рагттттсп(вер) Удаляет и возвращает целое число, находящееся в объекте Ьа в позиции р Ьа.рор(р) Удаляет первое вхождение целого числа ! из объекта Ьа ти- па Ьутеаггау Ьа гевсуе(1) Возвращает кортеж с тремя объектами типа Ьутев: часть Ь перед самым первым вхождением содержимого объекта вер, сам объект вер и часть Ь после самого первого вхождения содержимого объекта вер.

Если содержимое объекта вер не будет найдено, возвращается объект Ь и два пустых объекта Ьутев. Для деления объекта Ь по самому правому вхождению содержимого объекта вер используйте метод грег(11!оп() Запись и чтение двоичных данных 347 Синтаксис Ь.гер1асе (х, у, п) Ьа.гечегзе() Ь.вр1сс(», с) ь, зр1111спез( г) Ь,зСагСзнсть (х зсагс, об) ь.зсыр(») Ь.внарсззе() Ь.СТС1е() Ь.сгапз1асе (Ы, б) Ь.сррег() Ь. 7(111(н) Описание Возвращает копию объекта Ь, в котором каждое (но не более и, если этот аргумент определен) вхождение объекта х типа Ьутев/Ьутеа ггау замещается объектом у Переставляет в памяти элементы объекта Ьа типа Ьутеаггау в обратном порядке Возвращает список объектов типа Ьутез, выполняя разбиение объекта Ь не более чем и раз по содержимому объекта х Если число и не задано, разбиение выполняется по всем най денным вхождениям объекта х.

Если объект х не задан, рабиение выполняется по пробельным символам. Для выпол. пения разбиения строки, начиная с правого края, используйте метод гзр1! с. Возвращает список строк, выполняя разбиение объекта ь по символам перевода строки, удаляя их, если в аргументе Г не задано значение Т гас Возвращает тгзе, если объект ь типа ьусез/ьусеаггау (или срез ь(зсагс:епб]) начинается содержимым объекта х типа ЬуСез/Ьутеаггау или содержимым любого объекта х типа ьусез/ьусеаггау, если х — это кортеж; в противном случае возвращает Га1зе Возвращает копию объекта Ь, из которого удалены начальные и завершающие пробельные символы (или байты, вхо. дящие в объект х типа ьусез/ьусеаггау).

метод 1всгср() выполняет удаление только начальных символов (или байтов), а метод гзс г1р() — конечных Возвращает копию объекта Ь, в котором все символы АБСП верхнего регистра преобразованы в символы нижнего регистра, а все символы АБСП нижнего регистра — в символы верхнего регистра Возвращает копию объекта Ь, в котором первые символы АБСП каждого слова преобразованы в символы верхнего регистра, а все остальные символы АБСП вЂ” в символы нижнего регистра Возвращает копию объекта Ь, из которой удаляются все байты, входящие в объект б„а все остальные байты замещаются байтами из объекта Ьс, причем индекс байта в объекте И определяется значением байта в объекте Ь Возвращает копию объекта Ь типа Ьутез/Ьутеаггау, в кото- ром все символы АБСП приведены к верхнему регистру Возвращает копию объекта Ь, который, если его длина меньше величины н, дополняется слева символами нуля (байт 0»30) до длины н 348 Глава 7.

Работа с файлами Неформатированные двоичные данные с возможным сжатием Написание собственного программного кода для работы с двоичными данными обеспечивает нам полный контроль над форматом файла. Кроме того, такой подход является более безопасным, чем использование модуля р!сК1е, поскольку злонамеренные, недопустимые данные будут обрабатываться нашим программным кодом, а не интерпретатором. Разрабатывая собственные двоичные форматы файлов, совсем нелишним будет предусмотреть сигнатуру для идентификации типа файла и номер версии для идентификации версии используемого формата. Ниже приводятся определения, используемые в программе сслоегьт сЫелта.ру: ИА010 = Ь"А19~х00" ЕОПИАТ УЕВВ10И = Ь"'тхООтх01" Мы использовали четыре байта для сигнатуры и два байта для обозначения версии. Порядок следования байтов в машинном слове не имеет значения, потому что будут записываться отдельные байты, а не целые числа в байтовом представлении, то есть последовательность байтов будет одна и та же на любой аппаратной архитектуре.

Для записи и чтения двоичных данных вручную нам необходимо некоторое средство преобразования объектов Ру!)топ в соответствующее двоичное представление и средство преобразования двоичных данных в объекты Ру!)топ. Большая часть необходимых нам функциональных возможностей предоставляется модулем в!гцст, краткое описание которого приводится во врезке «Модуль вФгисФ» (стр. 349), и типами данных Ьутвв и Ьутеаггау, краткое описание которых приводится во врезке «Типы данных (ту!ее и ЬУСеаггау» (стр.

344). К сожалению, модуль атгцст может обрабатывать строки только определенной длины, тогда как в нашем случае идентификаторы отчетов, названия аэропортов, типы самолетов и текст комментариев могут быть представлены строками переменной длины. Чтобы удовлетворить требования модуля атгцст, мы создали функцию расК зтг!пр( ), которая принимает строку и возвращает объект Ьутез, состоящий из двух компонентов: первый — это целое число, определяющее длину строки, и второй — последовательность байтов в кодировке СТР-3, представляющих текст строки.

а Так как функция расК атгшр() будет вызываться только Локальные функции, внутри функции ехрогт Ьтпагу(), мы поместили опредестр.409 ление расК зтг!пр() внутрь функции ехрогт Ь!лагу(). Это означает, что функция расК зтгтпр() будет недоступна за пределами функции ехрогт Ьтпагу(), и указывает, что это всего лишь локальная, вспомогательная функция. Ниже 349 Запись и чтение двоичных данных бег ехрогс шпагу(зе!т, гс!епаве, совргезп=па!эе): бес раск зсгспд(асс!од): баса = зсг!пд.епсобе("ос!8") гогвас = "<н(О)з",го<вас(!еп(баса)) гесогп зсгосс.раск(гогвас.

!еп(баса), баса) Метод зтг,епсобе() возвращает объект Ьутез со строкой, закодированной в соответствии с указанной кодировкой. Кодировка 1)ТУ-8 является очень удобной, потому что она может представить любой символ Юникода и обеспечивает компактное представление символов АЯС11 (по одному байту на символ). В переменной (огвас сохраняется формат представления строки с длиной.

Например, пусть имеется строка ксп.тт!)<!рс<(!а.огяк, тогда ее форматом будет строка "<Н169" (обратный порядок следования байтов, 2-байтовое целое число без знака, 16-байтовая строка), а получившийся объект Ьусез будет иметь вид: Ь''<х10!хООеп.н!Ксребса, огд'. Для удобства интерпретатор РуС)гоп отображает объекты типа Ьутез в компактной форме, используя печатаемые символы АЯС11, если это возможно, и экранированные шестнадцатеричные значения (и некоторые специальные экранированные последовательности, такие как !С и т,п) в противном случае. о Кодировки сиивопов, стр. 112 МОДУЛЬ91ГиС1 модуль э!гост предоставляет функции зсгосс.раск(), зсгисс.опраск() и ряд других функций, а также класс э!гипс.9сгосс(). Функция зС госС. расК() принимает строку формата и одно или более значений и возвращает объект Ьутез, хранящий значения, представленные в соответствии с указанным форматом.

Функция зС гост. опрасК() принимает формат и объект Ьутеэ или Ьутеа- гга и возвращает кортеж значений, ранее упакованных с использованием строки формата, Например: баса = зсгбсс.раск("<2п", 11, -9) к баса == ь'Кхсь|<ООКхт7!хгт' !сева = зсгбсс.опраск("<2п", баса) к стева == (11, -9) Строка формата состоит из одного или более символов.

Характеристики

Тип файла
DJVU-файл
Размер
6,88 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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