Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
decoder = re.compile(r'^([-+]?)0*(\d*)((?:\.\d*)?)((?:[eE][-+]?\d+)?)$')
Содержание книги
- add.reduce(a, axis). cumsum(a, axis). add.accumulate(a, axis). product(a, axis). multiply.reduce(a, axis). cumproduct(a, axis). multiply.accumulate(a, axis). alltrue(a, axis). logical_and.reduce(a, axis). sometrue(a, axis). logical_or.reduce(a, axis). Фун
- Второе измерение,образующее вместе с первым плоскость,на которой и берется
- Индекс минимального значения в массиве по заданному
- Суммирование с промежуточными результатами
- Возвращает индексы ненулевых элементов одномерного массива
- Выбор частей массива a на основе индексов indices по измерению axis
- gt;>> print "Проверка:", Numeric.dot(a, x) - b
- gt;>> print RandomArray.normal(0, 1, 30)
- negative_binomial(trials, p, shape=[])
- iso_ir_6': 'ascii', 'maccyrillic': 'mac_cyrillic', 'iso_celtic': 'iso8859_14', 'ebcdic_cp_wt': 'cp037', 'ibm500': 'cp500', ...
- sys:1: DeprecationWarning: Non-ASCII character '\xf0' in file example.py on line 2, but no encoding declared;
- В строке формата кроме текста могут употребляться спецификации,регламентирующие формат выводимого значения.Спецификация имеет синтаксис
- Восьмеричное беззнаковое целое
- File "/home/rnd/tmp/Python-2.4b2/Lib/string.py", line 172, in substitute return self.pattern.sub(convert, self.template)
- Возвращает наименьший индекс,с которого начинается вхождение подстроки sub в строку.Параметры start и end
- Удаляет пробельные символы слева
- text = open(string.__file__[:-1]).read() start = 0
- import StringIO my_string = "1234567890" f1 = StringIO.StringIO()
- Синтаксис регулярного выражения
- Фрагмент справа или фрагмент слева
- Взгляд вперед:строка должна соответствовать заданному регулярному
- Наоборот,не соответствует промежутку между символами на
- r"aa|bb|cc|AA|BB|CC"
- Строка из двух одинаковых букв,но шаблон задан с использованием групп
- quot;""Отладка рег. выражения. Перед отладкой лучше убрать лишние скобки """
- decoder = re.compile(r'^([-+]?)0*(\d*)((?:\.\d*)?)((?:[eE][-+]?\d+)?)$')
- Для исключения неоднозначности документ вUnicodeможет быть в самом начале снабжен
- name,number,text a,1,something here b,2,"one, two, three" c,3,"no commas here"
- input_file.close() output_file.close()
- fieldnames=['name', 'number', 'text']) output_file = open("pr1.csv", "wb")
- Разбор сообщения. Класс Message
- quot;felton olive" <zinakinch@thecanadianteacher.com>
- parts.append(submsg.get_content_type()) ct_fields.append(submsg.get('Content-Type', '')) filenames.append(submsg.get_filename())
- from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText
- class MIMEBase(_maintype, _subtype, **_params)
- for text, enc in email.Header.decode_header(subj): print enc, text
- lt;?xml version="1.0" encoding="iso-8859-1"?> <expression>
- lt;operation type="+"> <operand>2</operand> <operand>
- from xml.dom import minidom dom = minidom.Document()
- разработчики стараются придерживаться единогоAPI,который продиктован стандартом
- previousSibling(предыдущий брат).parentNode
- getAttribute(attname). getAttributeNode(attrname). removeAttribute(attname). removeAttributeNode(oldAttr). setAttribute(attname, value). setAttributeNode(newAttr). Пространства имен. lt;?xml version="1.0" encoding="UTF-8"?> <rdf:
- dom = xml.dom.minidom.parse("ex.xml")
- if node.nodeType == node.ELEMENT_NODE: print node.nodeName, node.namespaceURI
- Для корректной работы сценарии помещаются в предназначенный для этого каталог наweb-сервере (обычно он называется cgi-bin) или, если это разрешено конфигурацией
- print """Content-Type: text/plain
- print """Content-Type: image/jpeg
- В приведенных примерах имена появлялись в строке запроса только один раз. Некоторые формы порождают несколько значений для одного имени. Получить все значения можно с
- В начале отлаживаемого сценария нужно поставить
- lt;Directory "/var/www/html/mywebdir> AddHandler python-program .py PythonHandler mprocess
import re
decoder = re.compile(r'^([-+]?)0*(\d*)((?:\.\d*)?)((?:[eE][-+]?\d+)?)$')
print decoder.match("12.234").groups() print decoder.match("-0.23e-7").groups() print decoder.match("1e10").groups()
Получим
('', '12', '.234', '') ('-', '', '.23', 'e-7') ('', '1', '', 'e10')
Множественная замена
В некоторых приложениях требуется производить в тексте сразу несколько замен.Для решения этой задачи можно использовать метод sub() вместе со специальной функцией,которая и будет управлять заменами:
import re
def multisub(subs_dict, text): def _multisub(match_obj):
return str(subs_dict[match_obj.group()])
multisub_re = re.compile("|".join(subs_dict.keys())) return multisub_re.sub(_multisub, text)
repl_dict = {'one': 1, 'two': 2, 'three': 3}
print multisub(repl_dict, "One, two, three")
Будет выведено
One, 2, 3
В качестве упражнения предлагается сделать версию,которая бы не учитывала регистр букв.
В приведенной программе вспомогательная функция _multisub() по полученному объекту с результатом сравнения возвращает значение из словаря с описаниями замен subs_dict.
Работа с несколькими файлами
Для упрощения работы с несколькими файлами можно использовать модуль fileinput.Он позволяет обработать в одном цикле строки всех указанных в командной строке файлов:
import fileinput
for line in fileinput.input(): process(line)
В случае,когда файлов не задано,обрабатывается стандартный ввод.
Работа с Unicode
До появленияUnicodeсимволы в компьютере кодировались одним байтом(а то и только семью битами).Один байт охватывает диапазон кодов от0до255включительно,а это
значит,что больше двух алфавитов,цифр,знаков пунктуации и некоторого набора специальных символов в одном байте не помещается.Каждый производитель использовал свою кодировку для одного и того же алфавита.Например,до настоящего времени дожили целых пять кодировок букв кириллицы,и каждый пользователь не раз видел в своем браузере или электронном письме пример несоответствия кодировок.
СтандартUnicode -единая кодировка для символов всех языков мира.Это большое облегчение и некоторое неудобство одновременно.Плюс состоит в том,что в однойUnicode-строке помещаются символы совершенно различных языков. Минус же в том, что пользователи привыкли применять однобайтовые кодировки,большинство приложений ориентировано на них,во многих системах поддержкаUnicodeосуществляется лишь частично,так как требует огромной работы по разработке шрифтов.Правда,символы одной кодировки можно перевести вUnicodeи обратно.
Здесь же следует заметить,что файлы по-прежнему принято считать последовательностью байтов,поэтому для хранения текста в файле вUnicodeтребуется использовать одну из транспортных кодировокUnicode (utf-7, utf-8, utf-16,...).В некоторых их этих кодировок имеет значение принятый на данной платформе порядок байтов(big-endian,старшие разряды в конце илиlittle-endian,младшие в конце).Узнать порядок байтов можно,прочитав атрибут из модуля sys.На платформеIntelэто выглядит так:
>>> sys.byteorder 'little'
|