Поиск по блогу

Показаны сообщения с ярлыком python. Показать все сообщения
Показаны сообщения с ярлыком python. Показать все сообщения

четверг, 28 мая 2015 г.

Размышляем на тему Python + Cron

Пока я не придумал ничего лучше, чем Cron. И, дабы не переписывать расписание, настроенного под Linux на Windows, меня устроила бы обертка того и другого..., например python-crontab.
Всего здесь с десяток ссылок ...для дальнейших размышлений...

воскресенье, 22 февраля 2015 г.

Здесь примеры кода для методов, которые я использую для чистки строк и строк - элементов списка

Вот большая часть примеров: filter(None, infi.split(' ')) map(str.strip, finfi) ' '.join(mystring.split()) mystring.replace('mess','',[n,m]) str.translate(table[, deletechars]) Это только те, которые я использовал. Но есть еще много других возможностей. Их надо искать по ссылкам на документацию... Часть сылок не наверху (как обычно), а ниже в тексте...

вторник, 17 февраля 2015 г.

Как парсить текстовые строки переменной длины (после отравления блинами)?

Таблица продаж автомобилей после конвертации из PDF файла представляет собой набор строк. Но каждая строка может начинаться с одного или нескольких слов названия марки (фирмы). Получается, что в строках может быть от 7 до 11 слов. Как загнать их в 7 столбцов? Задачка детская, надо просто знать мат.часть, вот ответ iii.partition(' ')[2].split(), len(iii.partition(' ')[2].split()) Но я никак не мог догадаться и перерепробовал RE... Здесь примеры моих тупых поисков и текстовый файл

четверг, 12 февраля 2015 г.

Читам 5 отличных статей про subprocess Python и смотрим три видеоролика

Нужно было выполнить рутинную работу по конвертации pdf файлов и последующео парсинга текстовых строк в таблицы. Мне не хотелось плодить временные файлы для каждого этапа конвертации, потому я сначала посмотрел видео и с большой неохотой прочитал таки малопонятную документацию..., зато потом с удовольствием прочитал все

среда, 11 февраля 2015 г.

Найти все имена файлов в папке при помощи os.listdir(path)

Взять все (однотипные) файлы в папке, да и конвертировать. Как их перебирать? Можно все (вместе с содержимым файлов) загнать в словарь... А молжно проще... Здесь фрагменты кода с os.listdir(path) и итерации по файлам в папке

среда, 21 января 2015 г.

Первый вариант шаблона для подбора и проверки XPath запросов и команды для нормализации строк

На примере carmailPrice. Здесь мы пробуем XPath запросы и тут же чистим полученные списки от лишних проблеов и переносов строк. Возвращаемся к задаче парсинга страницы bmw_mail. Сначала "фотографируем" страницу, потом копипастим сюда фрагмент кода, потом подбираем XPath запросы, потом формируем цепочки для чистки текстовых строк ' '.join(), replace(), split(), strip() эту чистку гордо именуем нормализацией. Работа муторная, но пост наглядный... Потому что с lxml html.fromstring(In[2]) ... а вссылках - примеры кода для "remove ALL whitespace from String"

среда, 14 января 2015 г.

Свалка удачных маленьких экспериментов, результаты которых я собираюсь часто использовать

Здесь я хотел подготовить код для краулера bmw_mail, не удержался и опробовал сразу несколько разных идей: import HTML, import HTML, ''.join(tree.xpath('//span[@class="rank"]/i/text()')), codecs, lxml, requests, .replace('\n','').encode('utf8'), print ''.join(this_link).encode('utf8')
Получилось все, но этот пост не тянет даже на черновик. Здесь просто сумбур из фрагманты кода, но зато я здесь изобрел сразу несколько велосипедов.

вторник, 13 января 2015 г.

Regular Expressions Python ... и мой перечень главных команд

Конспект первой части доументации Python по теме "Регулярные выражения" есть перевод на Хабре. На вторую часть терпения не хватило, но надо помнить, что я прочитал HowTo (а есть еще аполный справочник), и то, что я не включил сюда такие мощные функции, как "Splitting Strings", "Search and Replace"

вторник, 6 января 2015 г.

Python webbrowser - можно ли скачивать файлы в дефолтный браузер, а потом сохранять?

Это паллиативный вариант? Пока не освоен jsnode? Надо ли ожидать, что появится новая библиотека с браузером Python+Javascript.Поэтому здесь есть еще ссылка на CEF Python. А начинается все с примера кода для открытия браузера и распечатки документации dir(),help()
Первое впечатление разочаровывающее..., но оно же и поверхностное

понедельник, 5 января 2015 г.

Пример использования Python subprocess для выполнения команд консоли Windows

Набрел на этот модуль когда задался вопросом: "Хорошо бы перехватывать значения констант из пространтства имен экземпляра консоли"... На эту библиотеку надо обратить внимание, потому что:
This module allows you to spawn processes, connect to their input/output/error pipes, and obtain their return codes. This module intends to replace several other, older modules and functions, like: os.system os.spawn os.popen popen2. commands.

Фрагменты документации из OS (Python)

Здесь можно посмотреть распечатки dir() help() модуля os, os.sys, os.system, os.path ... Библиотека разветвленная, а времени на нее никогда не хватает. Так что просматривать этот пост надо бы при каждом удобном сучае.

воскресенье, 4 января 2015 г.

Копипаст примеров и фрагментов из документации urllib Python

Снова читаю urllib, снова не хватает времени, потому делаю заготовки для последующего воспроизведения примеров из документации. Здесь же и ссылки на каждый раздел и пример из документации

суббота, 3 января 2015 г.

Cтроковыe и встроенные функций Python. Ссылки и примеры для чистки спарсенных фрагментов. Регулярные выражения - ссылки на хороший мануал

После парсинга html-страниц появляется и мусор. Например, как убрать ненужные переносы строк, объединить текстовые фрагменты списков..., сначала надо пробовать "простейших" (быстрые встроенные функции и ...типы...) join(),map(), replace(),str.rstrip()... а уж потом пускаться во все тяжкие с regexp. Поэтому здесь примеры с простейшими и только ссылки для изучения regexp.
Две части пособия с Хабра, два онлайн сервиса отладки, Справочник Python, ходовые примеры от Гугла
Some people, when confronted with a problem, think «I know, I'll use regular expressions.» Now they have two problems.

воскресенье, 30 ноября 2014 г.

Topmail Spider with ScrapyFileLogObserver and traceback

Здесь я привожу первый вариант решения (фрагменты паука) в котором компилятор выводит сообщения в один файл, а ошибки в другой. При этом все (логирование) дублируется в консоли.
Кроме того, traceback выводит подробные сведения о перехваченных ошибках.

Как вывести в лог описания ошибок успешно перехваченных в "exceptions"?

Например, у меня выскакивала ошибка, я ее перехватил, но теперь в сообщениях консоли вместо имени модуля..., номера строки, имени переменной... только мои записи о перехвате, ... теперь, чтобы вытащить информацию об ошибке надо использовать методы из библиотеки traceback.

суббота, 29 ноября 2014 г.

Примеры настройки логирования в Scrapy и картинка "loggers, handlers, filters, and formatters"

"If you’re ready for that, grab some of your favourite beverage and carry on"... Так я начал читать документацию "дебаггинг для продвинутых", поскольку предстоит писать в длиннющие логи... Сначала я нашел на Stackoverflow варианты вывода логов в фва файла, а потом прочитал еще и мануалы Python...

вторник, 25 ноября 2014 г.

О конструировании списков в Python и хорошем стиле программирования

Здесь я "открыл", что конструктор item['new']=["" for j in range(len(iu))] выдает список, который ничуть не короче, чем item['new']=["WoW" for j in range(len(iu))] И весь этот пост наполнен упражнениями, ...рассуждениями пытливого туповатого самоучки, который завидует тем, кому преподы все подают на блюдечке...

воскресенье, 23 ноября 2014 г.

Как лучше парсить, чистить и склеивать строки вида 'http://127.127.0.1:8080'

Сразу вспомнилось про find-replace, ранее нашел split, "вспомнил", что каждая строка - это (упорядоченный)список, значит можно манипулировать индексами s[i] s[i:j] по позициям элемента... А это неправильно, не список, а КОРТЕЖ... Значи, подстроки нельзя изменять простым присваиванием...

Как парсить date и преобразовывать строки в объекты datetime.datetime

В документации Python все подробно описано, в этом посте примеры для использования в парсерах. Как строку преобразовать в объект даты... Здесь и табличка со всеми директивами, напрмир %A Weekday as locale’s full name (Sunday, Monday... )

вторник, 11 ноября 2014 г.

Инструкция "class" в Python - это не объявления, ...class создает объект и является неявной инструкцией присваивания (конспект гл. 28)

...в отличие от инструкции в C++, в языке Python она не является объявлением. Подобно инструкции def, инструкция class создает объект и является неявной инструкцией присваивания – когда она выполняется, создается объект класса, ссылка на который сохраняется в имени, использованном в заголовке инструкции.