Обновить
486.95

Python *

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

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

Doodle Jump на pygame

Время на прочтение2 мин
Количество просмотров28K
Добрый…
Хочу рассказать и показать вам свой опыт знакомства с библиотекой pygame — предположительно отличной библиотекой для реализации графичиских приложений (в большей степени игр-аркад) на языке python. Для примера была реализована (частично) игра Doodle Jump.
Поехали

Частный случай использования Sikuli для решения проблемы в Facebook

Время на прочтение3 мин
Количество просмотров6.3K
Некоторое время назад Facebook стал использовать решение основанное на NFS для хранения фотографий пользователей. Оно помогает справляться с напором в около 220 миллионов новых файлов занимающих 25TB каждую неделю и в часы пик раздающее более 550 тысяч изображений в секунду [1]. Максимальное количество файлов загружаемых в один альбом было увеличено с 60 до 200 на радость пользователям.

Наличие настроек приватности и то обстоятельство, что свободное место на Picasa благополучно было съедено шедеврами прошлых лет, подтолкнуло меня и некоторых знакомых к попытке использования Facebook в качестве фотохранилища.

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

Визуализация каталогов на Python средствами NetworkX

Время на прочтение5 мин
Количество просмотров17K
Листая на Хабре раздел Python наткнулся на интересную статью о библиотеке NetworkX. Впечатлившись красивыми графами, решил повысить свой python-скилл и покопаться в networkx.
image

Пролог


Первый вопрос — откуда взять данные для визуализации? Генерировать случайные не интересно, они и в комплекте модуля были. Тут вспомнилась Dos утилитка tree, выводящая каталоги файловой системы в виде дерева. Решено было написать красивый аналог на Python и нарисовать все в networkx с помощью matplotlib.
шоу продолжается

List Revolution. Нумерация списков начиная с единицы? Считайте, уже сделано! [UPD]

Время на прочтение2 мин
Количество просмотров16K
Недавно на просторах интернета наткнулся на вот это сообщение из меил-листа сообщества python:
Christopher King: Первый элемент в списке имеет индекс 0, второй имеет индекс 1, третий это 2, и так далее. Иногда это сбивает с толку новичков python и программирования в целом. Такая система нумерации была принята в то время, когда 1 бит все еще имел большое значение. Пришло время обновления. Имейте ввиду, что это предложение для четвертой версии, так-как из-за него не будет обратной совместимости. Я говорю о том, что мы должны сделать первый элемент с индексом 1, второй — с индексом 2 и т.д. Другие языки последуют за этим. Мы хотим сделать питон легким и читабельным, и в эпоху, когда нельзя получить что-то меньше килобайта через USB, мы должны сделать первое первым, второе вторым, а третье третим, как это и должно быть. Я даю этому "+1".
Guido van Rossum: Считайте, что это уже сделано.
Читать дальше →

Генерим PDF бочками

Время на прочтение6 мин
Количество просмотров13K

Предыстория


На хабре неоднократно упоминались различные инструменты и способы создания скриншотов WEB страниц.

Хочу поделиться собственным «велосипедом» для создания PDF на Python и QT, дополненным и улучшенным для централизованного использования несколькими проектами.

Изначально генерация запускалась из PHP скрипта, примерно так:

<?php
// локальный файл
exec('xvfb-run python2 html2pdf.py file:///tmp/in.html /tmp/out.pdf');
// или URL
exec('xvfb-run python2 html2pdf.py http://habrahabr.ru /tmp/habr.pdf');
?>

этого было достаточно и все было хорошо…
Читать дальше →

Отправка важных сообщений из ВКонтакте по электронной почте

Время на прочтение5 мин
Количество просмотров15K
Добрый день!
Наверняка многие сталкивались с ситуацией, что важная информация (новости, объявления и т.д.) публикуется ВКонтакте. Но во-первых, не всегда есть возможность туда попасть (вообще неприлично в рабочее время сидеть вконтакте!), во-вторых информацию приходится получать polling'ом, то есть постоянно обновляя страницу группы или что-нибудь аналогичное.
Отсюда родилась замечательная мысль — было бы удобно, чтобы важные уведомления приходили на почту. И на работе посмотреть можно и судорожно жать F5постоянно обновляться не нужно. Как оказалось, с помощью python'а можно легко справиться с такой задачей.
Читать дальше →

Реализация объектов-словарей, как в Javascript

Время на прочтение3 мин
Количество просмотров8.8K
Недавно, после длительного взаимодействия моего мозга с Javascript я вернулся к привычному для меня Python, и понял, что чего-то мне не хватает, а именно объектов как в Javascript, тех что хеш-таблицы, ага. Фууууу, может быть скажете вы и, возможно зря.
Читать дальше →

Консольное приложение PassKeep

Время на прочтение3 мин
Количество просмотров7.9K
Здравствуйте, Хабражители!

А как Вы храните свои пароли? Или у Вас один пароль на все случаи жизни? Раньше у меня было именно так! Ну то есть почти так. У меня их было два — идентификационный код и хитро мудрая анаграмма, составленная из моего мобильного телефона.

Если Вы один из таких как я, то прошу под кат.
Читать дальше →

Демон для удаленного управления компьтером через e-mail

Время на прочтение5 мин
Количество просмотров5.8K
Здравствуй, Хабр!

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

SQLAlchemy для Django

Время на прочтение2 мин
Количество просмотров30K
image Я не люблю Django. Я не люблю Django ORM, Django templates, Django forms и еще множество вещей в Django. Но у Django есть определенное преимущество — многие используют Django, практически любой python-программист знаком с джанго. Поэтому приходится мириться с недостатками этого фреймворка, но никто не мешает облегчать себе жизнь, используя действительно хорошие python библиотеки, например SQLAlchemy.

Что в SQLAlchemy лучше чем в Django ORM? Это главный вопрос, который я слышу от Django guys1, и у меня есть на него ответ — SQLAlchemy может выразить любой SQL запрос (ну 80-90%), в отличие от Django ORM, в котором можно выразить только весьма простые вещи.

И в некоторых Django проектах возникает необходимость в сложных запросах, на которые стандартный ORM неспособен. Условно предположим, что в момент создания проекта считалось, что Django ORM вполне хватит. Для решения можно писать чистый SQL или воспользоваться SQLAlchemy. Я за второй подход, так как чистый SQL плохо поддается DRY-фикации.

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

Выявление адресов сетей провайдера

Время на прочтение2 мин
Количество просмотров8.4K
Так уж вышло, что я, как и многие, люблю халяву. И в один прекрасный момент, для обеспечения онной, мне понадобилось узнать адреса сетей закреплённых за моим провайдером. Гугл простого и однозначного ответа не дал, буду рад если знатоки ткнут меня носом. Звонок провайдеру, порождающий резонный вопрос — «а зачем вам?» — отпадал. Пришлось изголяться.
Читать дальше →

Конкурентность в асинхронном приложении на примере twisted

Время на прочтение4 мин
Количество просмотров4K
Теоретически, проблема конкурентного доступа не характерна для асинхронных приложений. В отличие от приложений с параллельной архитектурой, в которых в каждый момент времени может выполняться несколько задач претендующих на какой то общий ресурс — в асинхронном приложении в один момент времени выполняется только одна активность.

Но на практике все выглядит немного по иному:
Читать дальше →

Оповещение появления нового топика на Хабрахабре с помощью Python

Время на прочтение6 мин
Количество просмотров3.1K
Мне нравится, когда программа/код полностью своя… понимаешь назначение каждой буквы и почему решение именно такое. В данном топике хочу предложить свой парсер топиков Хабрахабра на Python без сторонних библиотек.
При появлении нового топика — всплывающее окошко сообщает об этом.

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

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

Easy linux management over twitter

Время на прочтение3 мин
Количество просмотров1.4K
Доброго времени суток, дорогие Хабраюзеры.

Этот пост навеян появлением статьи про Twitter бота и всяких свистелок-плясалок для него. Представляю вам свое видение api Твиттера. Добро пожаловать под кат.
Читать дальше →

Grab — python библиотека для парсинга сайтов

Время на прочтение13 мин
Количество просмотров150K
Лет пять-шесть назад, когда я ещё программировал преимущественно на PHP, я начал использовать библиотеку curl для парсинга сайтов. Мне нужен был инструмент, который позволял эмулировать сессию пользователя на сайте, отсылать заголовки обычного браузера, давать удобный способ отсылки POST-запросов. Сначала я пытался использовать напрямую curl-расширение, но его интерфейс оказался очень неудобным и я написал обёртку с более простым интерфейсом. Время шло, я пересел на python и столкнулся с таким же дубовым API curl-расширения. Пришлось переписать обёртку на python.
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров26K

Всем добрый день!


На Хабре уже поднималась тема организации работы с внешними пакетами с использованием подмодулей или деревьев в Git. Это показалось хорошим решением, но на деле вылилось в неудобства и запутанность. Тогда я решил перенести всё на python-пакеты. Чем и поделюсь сейчас на примере Django приложения.


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

PyCon 2011. Краткое изложение докладов

Время на прочтение26 мин
Количество просмотров4.9K
Известно, что с 11 по 13 марта в Атланте (Джорджия) проходила конференция разработчиков PyCon 2011.

Ниже в статье будет приведно краткое изложение большей части докладов со ссылками на видео (англ.). Для удобства ознакомления доклады разбиты по категориям.

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

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

Простой Twitter-бот на Python

Время на прочтение3 мин
Количество просмотров35K
В данной статье я бы хотел поделиться опытом написания небольшого твиттер-бота на Python.

Вступление



На написание бота меня натолкнул известный многим «пичалька-бот» в Twitter, который автоматически шлет реплаи всем, кто упомянит слово «пичалька» в своем твите. Поскольку в тот момент я занимался активным изучением Python, было решено писать на нем.

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

Используем Python в своей программе

Время на прочтение4 мин
Количество просмотров37K
При разработке прикладных программ иногда возникает необходимость предоставить пользователю какую-то достаточно гибкую, но простую систему для управления программой.

Есть множество вариантов реализации таких систем, но одним из наиболее простых является встраивание в приложение интерпретатора скриптовых языков.

Реализацией этого варианта мы сегодня и займемся. В качестве скриптового языка был выбран Python из-за достаточно большого спектра применения.

Он кроссплатформенный, существуют официальные версии для Windows, Linux и MacOS. В конце концов, о мощи и потенциале этого языка может говорить хотя бы тот факт, что он используется в небезызвестной корпорации Google как основной язык программирования.
Читать дальше →

Немного Python'о-подобных функций в C++11

Время на прочтение2 мин
Количество просмотров2.4K
От меня лично:
С++11 ничего особо существенного не принес в язык. Грубо говоря, просто упростил некоторые моменты. Ведь гибкость С++ позволяет делать все(почти все: не пылесосит). Но все же, согласитесь это приятно, когда один из не самых легких языков программирования становится доступнее для понимания, проще для восприятия, удобней для работы.

Перевод текста под катом. Автор John D. Cook.
Читать дальше →

Вклад авторов