понедельник, 19 ноября 2012 г.

Python: PyE24lib - библиотека для работы с АЦП E24

По работе понадобилось мне сделать программу для работы с АЦП E24 фирмы L-Card. Железка общается по COM порту, описание протокола взаимодействия доступно


Исходный код: bitbucket.org/john_16/pye24lib

вторник, 23 октября 2012 г.

Python: rename.py небольшая программа для переименовывания файлов

Столкнулся однажды с задачей - необходимо из группы архивов извлечь файлы и сложить в одну директорию. Проблема оказалась в одинаковых именах разных файлов, в разных архивах. И тогда я решил написать небольшую программу которая бы помогла мне справиться с этим. Помимо выполнения основной задачи, данная программа писалась также ради дополнительного опыта программирования, использования системы контроля версий Mercurial и хостинга проектов BitBucket.

Исходный код, manual страница с подробным описанием, расположены здесь:

https://bitbucket.org/john_16/rename.py

пятница, 18 мая 2012 г.

Python: модуль Queue. Перевод документации. Примеры работы с очередями

Модуль Queue реализует механизм очереди. Он особенно полезен в многопоточном программировании, когда необходимо безопасно передавать информацию между потоками. Класс Queue этого модуля реализует всю необходимую семантику блокировки.

вторник, 10 апреля 2012 г.

Python: модуль optparse. Частичный перевод документации с примером.

Новое в версии 2.3
Обзор

optparse это более удобный, гибкий и мощный модуль для парсинга опций командной строки, чем getopt. Он использует больше декларативных стилей парсинга. Вы лишь создаете экземпляр класса OptionParser, наполняете его опциями и получаете результат. Модуль позволяет определять опции в традиционном синтаксисе GNU/POSIX и дополнительно генерировать справочные сообщения.

четверг, 2 февраля 2012 г.

Python: модуль timeit - измерение времени выполнения маленьких фрагментов кода. Примеры использования.

Новое в версии 2.3

Этот модуль предоставляет простой способ замерить быстродействие некоторого фрагмента Python кода. Он имеет как интерфейс командной строки, так и интерфейс вызовов. Это позволяет избежать ряда общих ловушек для измерения времени выполнения.