Обновить
788.47

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Django + Java = django-jython 1.0.0

Время на прочтение1 мин
Охват и читатели4.1K
Тихо и незаметно зарелизился django-jython версии 1.0.0 — замечателная разработка,
которая позволяет развёртывать приложения django на java серверах приложений.
Читать дальше →

Настраиваем Vim под Python

Время на прочтение4 мин
Охват и читатели44K
Сегодня я хочу рассказать вам, как я настраивал любимый всеми редактор Vim (который в одном режиме пищит, а в другом — все портит) для написания кода на Python. Статья расчитана на начинающих виммеров.
У меня получилась такая картинка:

Настроить и свой!

Gnome Applets. Введение

Время на прочтение5 мин
Охват и читатели4.9K
Апплет — это небольшое приложение, которое интегрированно в Gnome панель и выполняет какие — либо поэтапные действия. В этой серии постов, я хочу рассказать как создаются эти самые gnome applets, от простого к чему-нибудь к более сложному и интересному. Для создания апплетов мы будем использовать PyGTK, но в принципе писать апплеты для Gnome можно и с помощью связки С + GTK+.
Продолжение

Пример разработки небольшого python+PyQt4 приложения для учетной системы

Время на прочтение4 мин
Охват и читатели15K
Часто приходится разрабатывать приложения для корпоративной системы которые должны были функционировать еще вчера, не требующие строго соответствия корпоративным стандартам. Такими приложениями могут представлять cms к сайтам, gui для сервисов под *nix системы просто приложением учетной системы. Разработка приложений подобного рода на скриптовых языках есть тема! обычно оптимальна с точки зрения скорости выполнения. Под катом пример реализации приложения на python+PyQt4, функции приложения парсинг и загрузка данных из xls файлов…
Читать дальше →

Прокси-сервер SIP на Twisted

Время на прочтение1 мин
Охват и читатели4.2K
Питонисты в курсе, что есть такая чудо библиотека для работы с сетевыми протоколами как Twisted. Она немного сложна поначалу, но после просветления становится совершенно необходимым инструментом.
В стандартной поставке с ней идет множество уже реализованных протоколов — IMAP, XMPP, HTTP (в сочетании с обработкой URL и какой-нибудь библиотекой шаблонов весьма полезный инструмент) и т.д. Количество же протоколов, которые реализованы на/для Twisted не поддается подсчету.

Читать дальше →

Международные ягнята

Время на прочтение5 мин
Охват и читатели20K
Несмотря на то, что мировая культура в лице Википедии и Пола Маккартни уверяет нас, что Mary had a little lamb, на территории одной восьмой части суши продолжают считать, что на самом деле «У Мэри был ягнёнок». Кто же на самом деле был у Мэри, и как записать это на разных языках мира? Попробуем выяснить это (а также понять, что думают по этому поводу японцы) вместе с нашим любимым Python-ом и встроенным в него модулем поддержки многоязычных переводов gettext.

Читать дальше →

Proposal: Moratorium on Python language changes

Время на прочтение1 мин
Охват и читатели643
Что вы думаете по поводу моратория на изменения языка?

Я сначала решил, что это ОК, потом несколько заволновался.

Конечно, и сейчас вполне хватает того, что есть. Тем более, заморозка касается только самого языка и встроенных функций, но не библиотек.

В общем, моё мнение, что Гвидо прав, и это пойдёт на пользу языку, а вы как считаете?

Концепции ОС Фантом — это реальность Zope3

Время на прочтение1 мин
Охват и читатели910
Ребят, я конечно все понимаю, но WTF??

Статья.

«Работая непосредственно на Министерство Доктрины, инквизиторы, воины-священники, истребляли всех врагов веры. Они были клыками церкви — самые могущественные разрушители в Ватикане.»

Абстрактные классы и интерфейсы в Питоне

Время на прочтение5 мин
Охват и читатели205K
Абстрактные базовые классы и интерфейсы — близкие по назначению и смыслу сущности. Как первые, так и вторые представляют собой своеобразный способ документирования кода и помогают ограничить (decouple) взаимодействие отдельных абстракций в программе (классов).

Питон — очень гибкий язык. Одна из граней этой гибкости — возможности, предоставляемые метапрограммированием. И хотя в ядре языка абстрактные классы и интерфейсы не представлены, первые были реализованы в стандартном модуле abc, вторые — в проекте Zope (модуль zope.interfaces).

Нет смысла одновременно использовать и то и другое, и поэтому каждый программист должен определить для себя, какой инструмент использовать при проектировании приложений.

Читать дальше →

Прогресбар и нити в PyGTK

Время на прочтение10 мин
Охват и читатели2.4K
Недавно появилась необходимость и желание ознакомится с PyGTK. Литературы на русском по данному вопросу практически нет, а то, что находит гугл в разных блогах — бывает немного устаревшим. Также с удивлением обнаружил, что и на хабре тема PyGTK не особо популярна.

Итак, не буду рассказывать про компоновку элементов интерфейса, ибо такие статьи уже есть. Расскажу про следующий шаг: создание приложения, которое выполняет некую работу, в процессе отображая свой прогресс.
Читать дальше →

Исправляем Python Imaging (PIL) в Snow Leopard'е

Время на прочтение1 мин
Охват и читатели1.2K
После перехода на Snow Leopard в Django перестали работать ImageField'ы. Причина оказалась в неработоспособном PIL'е, а точней в его привязке к libjpeg.
(типичное сообщение об ошибке:ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart)

Решение проблемы частично описано здесь (english)
качаем отсюда:
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
cp /usr/share/libtool/config/config.sub .
cp /usr/share/libtool/config/config.guess .
./configure --enable-shared --enable-static
make
sudo make install


Однако мне «повезло» и я оказался в числе тех, у кого это сразу не заработало — причина была в «зоопарке» установленных libjpeg'ов.
Итак, делаем следующее:
1. Смотрим все зависимости _imaging:
otool -L /Library/Python/2.6/site-packages/PIL/_imaging.so
2. Получаем что-то вроде:/Library/Python/2.6/site-packages/PIL/_imaging.so:
/sw/lib/libjpeg.62.dylib (compatibility version 63.0.0, current version 63.0.0)

Дальше можно решить двумя способами:
а) удалить «зоопарковую» библиотеку (в моем случае — из /sw/lib и пересобрать все заново)
б) если удалять — не вариант, то можно перелинковать питоновский _imaging на правильную, свежесобраную библиотеку:install_name_tool -change /sw/lib/libjpeg.62.dylib /usr/local/lib/libjpeg.62.dylib _imaging.so

После этого все должно работать :)

Async Hearts

Время на прочтение7 мин
Охват и читатели10K
Некоторое время назад случилось несколько событий, изменивших привычный вид ландшафта веб-разработки на Питоне: Facebook приобрела сервис Friendfeed и сразу же открыла исходный код технологии проекта — http-сервер и микрофреймворк Tornado. Одновременно разработчик Friendfeed опубликовал в своем блоге заметку, в которой привел причины, по которым было решено с нуля разрабатывать собственный асинхронный веб-сервер.

Статья — экскурсия в самое сердце этого и конкурирующего (Twisted.web) проектов, их циклы асинхронной обработки поступающих данных.

Читать дальше →

Ближайшие события

Несколько занимательных Python-проектов

Время на прочтение2 мин
Охват и читатели11K
Вступление.

Я долго думал, создавать ли этот топик.
Аргумент против: творения не мои, поэтому инвайта ожидать не стоит, а в силу отсутствия исходников полезность статьи не велика.
Аргумент за: я был сильно впечатлен увиденным, а искать что-то касающееся Python-а и программирования в целом на просторах youtube-a вряд ли кто-то станет.

Так что в конце-концов я все же решил поделиться увиденным с публикой. А поделюсь я с Вами несколькими видео-роликами, раскрывающими возможности ряда программ, написанных на питоне с использованием модуля pygame. Основная тематика приложений — различного рода симуляции.

Об авторе (но не от автора).

Автором всех шести приложений является Badmephisto — студент из Словакии, живущий в настоящее время в Канаде. Он весьма известен как спидкубер, но, как мне кажется, не менее талантлив в программировании. Еще он замечательный математик, увлекающийся фракталами.
Ссылки: Cubing site, Youtube account, Fractalmath channel.

Читать дальше →

Хабраподсветка или эксперименты в изолированном окружении Python

Время на прочтение4 мин
Охват и читатели5.2K
Протестировать свежую версию любимого фреймоврка. Запустить приложение со специфичным набором библиотек. Установить необходимые библиотеки по списку зависимостей. Как решить все эти задачи не затронув системные файлы? В этой статье речь пойдет об утилитах virutalenv и pip.
Читать дальше →

Tornado Web Server

Время на прочтение1 мин
Охват и читатели16K


Команда friendfeed.com, недавно присоединившаяся к Facebook, выложила в открытый доступ собственный неблокирующий веб-сервер на Python. Из-за своей неблокирующей природы (используется epoll) сервер легко выдерживает тысячи одновременных подключений. У Tornado есть все шансы стать лучшим выбором для реализации технологии Comet средствами языка Python.

Производительность впечатляет:


Документация (на англ.) — www.tornadoweb.org/documentation

Релиз PyDev 1.5 или PyDev Extensions теперь с открытым кодом

Время на прочтение1 мин
Охват и читатели1.6K
imageВышла новая версия PyDev, плагина к Eclipse, позволяющего разрабатывать проекты на Питоне. В новой версии разработчик Fabio Zadrozny решил интегрировать в бесплатную открытую версию всю функциональность платного дополнения PyDev Extensions.

В новой версии:
  • Продвинутая интерактивная консоль с авто-импортом,
  • Анализ качества кода в реальном времени,
  • Контекстно-независимое code-completion с авто-импортом,
  • Иерархическая диаграмма классов,
  • Консоль отладки с возможностью запуска удаленного дебаг-сервера.

Подробную информацию можно узнать на официальном сайте PyDev.org, а также в блоге Fabio Zadrozny.

Ссылки для скачивания

Анализ рынка ноутбуков с помощью Python

Время на прочтение8 мин
Охват и читатели5.7K

Введение



В этой статье я расскажу о состоянии на сегодняшнем российском рынке ноутбуков. Всю аналитику мы будем проводить с помощью кода на python. Думаю она будет полезна как тем, кто ищет ноутбук, так и тем, кто хочет потренироваться написанию на python.

Начнём



diy-03-425[1] Для анализа нам необходим набор данных, к сожалению я не смог обнаружить веб-сервисы у российских он-лайн магазинов ноутбуков, поэтому мне пришлось скачать прайс-лист одного из них (я не стану называть его) и вытащить из него цены и основные параметры (по-моему мнению таковыми являются: частота процессора, диагональ монитора, объем оперативной памяти, размер жесткого диска и объем памяти на видео-карточке). Далее я провёл некоторый анализ по следующим вопросам:
Читать дальше →

Офисный муз.проигрыватель с элементами демократии своими руками

Время на прочтение1 мин
Охват и читатели1.5K
В нашем офисе в одной комнате сидят 4 программиста со схожими музыкальными взглядами и жуткими нежеланием сидеть в наушниках. Поэтому один из компов в офисе выбран в качестве музыкального сервера, и по большими колонкам вещает музыку вокруг.
Признаюсь, это крайне не удобно, изначально это выливалось в фразы по офису, типа: «Поставь, пожалуйста, эту песенку!», «Убавь громкость», «Выключи ..» и т.д. Поэтому для локальных нужд написали небольшой плагин к музыкальному плееру который позволяет всем управлять музыкой со своих компов. Решил выложить, потому как наверняка найдутся люди которым он понадобится.


В качестве музыкального плейера выбран AIMP, к нему был написан плугин на Delphi, задача которого управлять плейером, получая команды по простейшему протоколу. Сам клиент написан на Python (и работал на win32-2.5), фактически он эмулирует окошка любимого в детстве Winamp, да по дизайну там беда, можете мне об этом не напоминать.
Что я могу сказать — удобно. Уже пользуемся больше года нареканий и скандалов из-за музыки не возникает.

Да, нужно сказать, что сидим исключительно по Windows по этому работоспособность проверена только под этой платформой, хотя теоритечески все должно запускаться и под другими платформами.

Итак, что надо для установки:

на клиента:

После распаковки, нужно изменить файлы stg.py где прописан ip-адрес хоста с AIMPом, и порт соединения.

Простой скрипт для рассылки СМС

Время на прочтение1 мин
Охват и читатели9.1K
Я продолжаю изучать Питон. Язык красивый, меня радует что когда мой коллега — непрограммист, садится за мой код он его может прочитать и понять. Встала задача сделать СМС оповещение клиентов (ну о просрочке, новых услугах итд). Мы купили GSM модем Teleofis. Для работы с ним пошукали проги, не особо нашли, а уж бесплатного и тем более. Пришлось открыть мануалы и написать простенькую прогу под Винду, которая открывает COM порт, на котором сидит модем и пишет в него AT команды.

Сам скрипт требует pySerial для работы под виндоус.

Чтобы запустить скрипт, надо воткнуть в комп модем, установить дрова, открыть файлик sms_sender.py и отредактировать там строку 90:

a = Sender(('790864x0807',),u"Признанный критикой всего мира величайшим эпическим произведением новой европейской литературы, «Война и мир» поражает уже с чисто технической точки зрения размерами своего беллетристического полотна. Только в живописи можно найти некоторую параллель в огромных картинах Паоло Веронезе в венецианском Дворце дожей, где тоже сотни лиц выписаны с удивительною отчётливостью и индивидуальным выражением[источник не указан 91 день].",1,115200,2)

* This source code was highlighted with Source Code Highlighter.

Первый параметр — кортеж адресатов, второй — текст сообщения. Третий — номер порта. Остальные нам не нужны — это скорость и таймаут ожидания ответа.
А потом сделать из Командной строки вызов команды
python sms_sender.py

Вы увидите:
more PDU to go…
more PDU to go…


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