Обновить
840.17

Python *

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

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

Ещё один способ обновления торрентов

Время на прочтение7 мин
Охват и читатели32K
На одном трекере я являюсь активным сидером. Но когда приходит время обновлять раздачи, для меня начинается ужас: некоторые раздачи имеют разные название в торрент-клиенте и на трекере, раздач с идентичным названием на трекере очень много, да и искать какую-то конкретную раздачу очень трудно. К тому же у меня нет столько времени, чтобы заниматься таким рутинным делом. Поэтому мне понадобился небольшой скрипт, который бы обновлял раздачи в клиенте, при обновлении оных на трекере.

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

Расширяем функциональность collectd путем добавления своих биндингов

Время на прочтение3 мин
Охват и читатели4.8K
Здравствуй, %habraUser%
В этой статье пойдет речь о том, как расширять систему сбора статистики collectd путем добавления новых биндингов на python.
Эта статья является дополнением этой статьи

Постановка задачи


Нужно собирать данные с помощью collectd с модуля ustats для nginx. Нужно собирать HTTP 499, HTTP 500, HTTP 503 и TCP ошибки и выводить их на одном графике.
Читать дальше →

PyS60: Сказ о том, как блокнот для Symbian писался

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

Предисловие


Доброго времени суток, хабраюзеры!
Так уж получилось, что большую часть времени я нахожусь вдали от своего ПК, поэтому большинство его функций возлагаются на девайс, который всегда со мной — на смартфон на базе Symbian 9.4. Наряду с мультимедийными функциями мне очень часто бывает необходимо делать текстовые заметки, наброски статей для блога, а случается, что и приходится работать с (x)html и CSS. И если с мультимедийными функциями Nokia 5530XM справляется на ура, то работа с текстом осложнена отсутствием удобного для меня софта – мой привередливый нрав не признает те программные продукты, которые я имел возможность найти на просторах Интернета и протестировать на своем девайсе. Я нуждался в самом простом блокнотике, в то время как мне встречались текстовые редакторы, обремененные лишними для меня функциями. И когда я вспомнил, что спасение утопающих – дело рук самих утопающих, тогда и понял, что свои потребности удовлетворять придется самому.
Читать дальше →

Скрипт для Notepad++ на Python

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

Введение


Думаю, многим известен Notepad++ — удобная бесплатная утилита, выступающая в качестве «продвинутой» замены стандартному Блокноту Windows. Как и при работе в любом текстовом редакторе, в Notepad++ время от времени возникает необходимость автоматизировать какие-либо повторяющиеся действия, которые в силу сложности логики невозможно записать как макрос. К счастью, для решения этой задачи нет необходимости переключаться из Notepad++ в, например, Word, дабы воспользоваться встроенным в него VB.

Среди плагинов для Notepad++ существуют расширения, реализующие возможность написания скриптов для Notepad++ на разных языках, таких как JavaScript, Lua, PHP или Python. Именно на последнем я и решил остановиться для решения своей задачи.
Читать дальше →

Централизованный сбор конфигураций с MikroTik'ов средствами Python

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

Зачем



С ростом количества сетевых узлов и сложности их конфигурации наверняка у многих возникает вопрос — а если железка умрет, смогу ли я быстро восстановить работу на другой? Если смогу сделать это вручную, то как долго я буду потом отлавливать мелочи, которые забыл?

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

Благо есть небольшой навык написания полезняшек на Python и фантазия.
Читать дальше →

Python на примере демона уведомления о новых коммитах Git

Время на прочтение4 мин
Охват и читатели27K
Работая в команде я люблю быть в курсе активности участников. Поэтому было решено написать демона наблюдающего за поступлением новых коммитов в репозиторий git’а. Так как я работаю в Ubuntu, то уведомление было реализовано встроенным способом — библиотекой libnotify.
Язык — Python!

image

В статье упоминается:
1. Демон на Python;
2. Логирование на Python;
3. Хранение конфигурационных файлов программ на Python;
4. Работа с командами ОС из скриптов Python;
5. Получения списка последних изменений из git’а;
6. Стандартные всплывающие уведомления Ubuntu.
Читать дальше →

Первые шаги в программировании на Python

Время на прочтение3 мин
Охват и читатели37K
Пару месяцев назад взялся я за изучение Python. Прочитав про используемые структуры, работу со строками, генераторы, основы ООП, размышлял какую полезную программу написать, что бы это все применить на реальной задаче.
По счастливому стечению обстоятельств ко мне обратились знакомые с просьбой скачать мультфильм «Чудеса на виражах».
Читать дальше →

Фреймворк для парсинга Grab:Spider

Время на прочтение4 мин
Охват и читатели30K
Я автор python библиотеки Grab, которая упрощает написание парсеров веб-сайтов. Я о ней писал вводную статью некоторое время назад на хабре. Недавно я решил вплотную занять парсингом, стал искать free-lance заказы по парсингу и мне понадобился инструмент для парсинга сайтов с большим количеством страниц.

Раньше я реализовывал мультипоточные парсеры с помощью python-тредов с помощью такой вот библиотечки. У threading-подхода есть плюсы и минусы. Плюс в том, что мы запускаем отдельный поток(thread) и делаем в нём, что хотим: можем делать последовательно несколько сетевых вызовов и всё это в пределах одного контекста — никуда не надо переключаться, что-то запоминать и вспоминать. Минус в том, что треды тормозят и жрут память.

Какие альтернативы?
Читать дальше →

Исследование производительности сервера SockJS

Время на прочтение4 мин
Охват и читатели14K
Доброе время суток!

Так уж сложилось, что я занимаюсь всякими разнообразными push технологиями с использованием Tornado. Чуть ранее описывал Tornadio2, серверную реализацию протокола socket.io поверх Tornado.

Теперь хочу представить похожий проект — sockjs-tornado.

Для тех кому не очень интересно, есть другая полезная информация: сравнительное нагрузочное тестирование PyPy 1.7 против CPython 2.6.6, sockjs-node и socket.io (оба на node.js 0.6.5). Все под катом :-)
Читать дальше →

Как в python снаружи проверить значения, переданные в функцию

Время на прочтение2 мин
Охват и читатели6.4K
Небольшое HowTo для начинающих python-программистов о том как извне проверить некоторые переданные в функцию значения. На самом деле мне это понадобилось в Django, но ничего специфичного для фреймворка в этом нет и…

UPD Лирическое отступление: Изначально тут я написал много глупостей в силу своего кривого понимания работы декораторов. Теперь решение гораздо более правильное и прямое. Более того я даже внятно могу его объяснить, за что огромная благодарность комментаторам.
Читать дальше →

Релиз PyCharm 2.0

Время на прочтение1 мин
Охват и читатели3.6K
Сегодня компания JetBrains представила релиз новой major версии PyCharm, интегрированной среды разработки для Python, Django и Google App Engine. Среди новых фич PyCharm 2.0 стоит отметить:
  • Поддержку двух новых языков шаблонов, Jinja2 и Mako
  • Поддержку Cython
  • Интеграцию с coverage.py для анализа code coverage
  • Поддержку CoffeeScript и встроенный отладчик для JavaScript
  • Переработанный интерфейс основного окна приложения, улучшенную интеграцию с платформами Mac OS X и Linux
Как и раньше, попробовать PyCharm можно бесплатно в течение 30 дней, а для open-source проектов есть возможность получить бесплатную лицензию. Скачивайте, пробуйте — будем рады вашему фидбэку.

Украшаем рабочий стол случайными обоями с GoodFon

Время на прочтение3 мин
Охват и читатели19K
Сидел я как-то вечером, делать было нечего, и я решил слегка разнообразить свой рабочий стол, написав небольшой скриптик, ставящий на него случайную картинку с GoodFon. Язык я выбрал просто — простой, скриптовый, мощный, а именно — несравненный Python.

Если хотите сделать себе и своему рабочему столу приятно — подробности под катом.
Читать дальше →

Работа с PySide

Время на прочтение9 мин
Охват и читатели62K
Этот пост участвует в конкурсе «Умные телефоны за умные посты»


В Сети имеется некоторое количество информации по проекту PySide, но русскоязычной не так много.

Данная статья является попыткой восполнить этот пробел. Далее будет описана сборка проекта, запуск приложений на эмуляторе, пример создания собственной привязки. Некоторые ключевые особенности PySide будут показаны на примерах.
Читать дальше →

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

Gray Hat Python — Immunity Debugger

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

Intro


Рассмотрев создание и использования отладчика на чистом Python’е в виде PyDbg, пришло время изучить Immunity Debugger, который состоит из полноценного пользовательского интерфейса и наимощнейшей Python-библиотекой, на сегодняшний день, для разработки эксплойтов, обнаружения уязвимостей и анализа вредоносного кода. Выпущенный в 2007 году, Immunity Debugger имеет хорошее сочетание возможностей как динамической отладки, так и статического анализа. Помимо этого он имеет полностью настраиваемый графический интерфейс, реализованный на чистом Питоне. В начале этой главы мы кратко познакомимся с отладчиком Immunity Debugger и его пользовательским интерфейсом. Затем начнем постепенное углубление в разработку эксплойта и некоторых методов, для автоматического обхода анти-отладочных приемов, применяемых в вредоносном ПО. Давайте начнем с загрузки Immunity Debugger и его запуска.

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

ep.io — хостинг для python web-приложений

Время на прочтение3 мин
Охват и читатели32K
Сразу хочу сказать что не имею никакого отношения к компании, которая создала этот сервис.

Вступление


До того, как я опробовал хостинг от ep.io, я несколько раз встречал упоминание о нем в интернете, в основном на буржуйских сайтах. Отзывы были только положительные, гики радовались и хвалили сервис. В итоге я все-таки решил его попробовать и недолгая переписка с поддержкой сервиса дала свои результаты — мне выдали инвайт.

Для чего?


Как написано в документации хостинг предназначен для Django, Pylons, Pyramid, Flask, Trac или любых других WSGI-совместимых приложений. Я пока успел попробовать побаловаться с небольшими приложениями на фреймворке bottle.
Читать дальше →

Используем «Яндекс Музыку» вне браузера

Время на прочтение2 мин
Охват и читатели123K
Недавно мне захотелось поработать с «Яндекс Музыкой» не через браузер. Как выяснилось, у них нет открытого api, и дело оказалось не тривиальным. Да и ничего готового найти не удалось.

Те, кому лень читать, могут сразу перейти к результату — python-yamusic.
Читать дальше →

Введение в Tkinter

Время на прочтение4 мин
Охват и читатели469K
image

Всем доброго времени суток!

Tkinter – это кроссплатформенная библиотека для разработки графического интерфейса на языке Python (начиная с Python 3.0 переименована в tkinter). Tkinter расшифровывается как Tk interface, и является интерфейсом к Tcl/Tk.
Tkinter входит в стандартный дистрибутив Python.
Читать дальше →

TornadIO2 = Tornado + Socket.IO

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

Что такое Socket.IO?


Это библиотека предназначенная для организации постоянного соединения между сервером и браузером.

Главное преимущество библиотеки: она автоматически подстраивается под возможности браузера и использует наиболее эффективный транспортный протокол из поддерживаемых.

Браузер умеет веб сокеты? Отлично, будем использовать их. Браузер умеет AJAX? Будем использовать long polling. Это древний Internet Explorer? Будем использовать html file object. Ну и так далее.

О socket.io уже писали на Хабре. «Родной» сервер Socket.IO написан на node.js.
Читать дальше →

Проксируем RSS поток при помощи Python

Время на прочтение5 мин
Охват и читатели9K
Одним из безусловно удобных способов получать новости, статьи и т.п. с различных сайтов — является RSS. Однако с каждым годом число лент неуклонно возрастает, кол-во фидов увеличивается, а времени на разгребание всего этого хозяйства становится все меньше и меньше. Очевидно — нужно как-то автоматически фильтровать статьи. Этим мы сегодня и займемся.
Читать дальше →