Обновить
860.58

Python *

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

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

Программирование под N900 на Python

Время на прочтение5 мин
Охват и читатели4.3K
Среди топиков на Хабре я нашел лишь руководство по программированию на Python для платформы S60. Являясь счастливым обладателем N900 и фанатом Python я решил это исправить.
Читать дальше →

ICQ бот на Python

Время на прочтение5 мин
Охват и читатели13K
Привет %habrauser%! Это мой первый хабротопик. В котором я расскажу как можно сделать ICQ бот на pythone. Бот у нас будет сидеть в сети и отправлять, по запросу пользователя, список последних статей хабра.
Для реализации бота мы будем использовать библиотеку Twisted. Конечно же есть уже специализированные библиотеки для работы с ICQ на python. Такие как py-icq или nanoicq. Но так как с Twisted я был уже знаком, то выбор пал именно на него.
Читать дальше →

PyCharm (IDE для Python/Django) обновился до версии 1.1

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

Спустя два с небольшим месяца после релиза PyCharm 1.0 вышел первый большой апдейт, версия 1.1. Несмотря на скромное увеличение номера версии, новых фич и улучшений в релиз попало достаточно много. Вот краткий список:
  • Автодополнение теперь появляется автоматически и не требует нажатия Ctrl-Space;
  • Появилась возможность вытаскивать табы редактора на второй монитор (почти как в Chrome);
  • В дебаггере появились условные breakpoint'ы, break on exception, новая консоль и возможность удалённой отладки;
  • Запуск тестов теперь умеет работать с nose, doctests и новыми версиями py.test;
  • Появилась пачка новых inspection'ов, quickfix'ов и локальных рефакторингов (например, «Convert lambda to function»).
  • Под Linux и Mac теперь можно открывать проекты и файлы из командной строки;
  • В комплект поставки включены плагины для работы с файлами по FTP/SFTP и для интеграции с системами issue tracking.
Ну и ещё много всего полезного. Как всегда, доступна 30-дневная пробная версия, а также бесплатные лицензии для open-source проектов и для использования в учебном процессе.

Скачать новую версию можно на сайте jetbrains.com.

Профилирование python приложений

Время на прочтение2 мин
Охват и читатели16K
Краткая заметка с линками и примерами о профайлинге:
  1. производительности: hotshot или python profile/cProfile + визуализатор логов kcachegrind (есть порт под windows, аналог WinCacheGrind)
  2. использование памяти: dowser с web-интерфейсом

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

Текст любой ценой: Miette

Время на прочтение3 мин
Охват и читатели3K
Да, вы не ошиблись, и это не дежавю. Вы наверняка когда-то (если завсегдатай) видели этот топик. С тех пор прошло много времени, а мне продолжают ходить письма с вопросами и просьбами о совете на тему чтения текстовой информации из бинарных форматов данных. А это значит, что тема до сих пор актуальна, интересна для программирующей общественности.

За этот год (а ведь и вправду прошло больше года) я поменял место работы и занимаюсь совершенно другими вещами и давно уже не программирую (много не программирую, если быть точным) на PHP. Новый проект обязал меня совершенствоваться в python'е (и ощутить его силу), поэтому однажды воскресным вечером было решено переписать и, главное, улучшить некоторые из своих библиотек для чтения текста. Сегодня я представлю на суд публики молодой opensource-проект Miette («вкусняшка», если переводить с французского), который призван (в каком-никаком будущем) читать файлы пакета Microsoft Office.

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

Естественно python во многом отличается от PHP и, на мой взгляд, имеет несколько больший функционал, поэтому и принцип построения библиотек в проекте несколько другой, нежели старая «поделка» на PHP. В данном случае было решено запретить себе, как разработчику и заказчику в одном лице, загружать какие-либо большие блоки в память. Мьетт читает данные постепенно, по требованию, как это делает сам Word. Это делает его легковесным и нетребовательным к оперативной памяти. В будущем, я постараюсь пройти исходные profiler'ем и найти узкие горлышка, которые стоит оптимизировать дальше.

Идём дальше?
Читать дальше →

FTP сервер с авторизацией через базу данных

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

Существует множество готовых FTP серверов для разворачивании у себя на сервере. Но сложилось так что, на сервере уже работает FTP и нужно поднять FTP сервер на альтернативном порту. А также раздать пользователям доступ только к своим папкам с файлами. Решил поинтересоваться, а что можно сделать средствами Python. Поиск быстро выдал библиотеку pyFTPd.
Читать дальше →

Python Bug Weekend

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

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

Bug Tracker

IRC: #python-dev / irc.freenode.net

Более подробно

Stackless Python и Concurrence

Время на прочтение8 мин
Охват и читатели15K
Перед тем, как перейти собственно к возможностям Stackless и Concurrence, рассмотрим самый простой способ написать сетевое приложение, обрабатывающее несколько одновременных соединений:

socket()
bind()
listen()
accept()
fork() ->
    read()
    write()
    ...
    close()

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

Где моя кнопка?

Время на прочтение3 мин
Охват и читатели837
«Где моя кнопка? Почему она неактивна?» Как часто программист может слышать эти слова от пользователей своего продукта? Скорее всего, более чем очень часто для того, чтобы задуматься, а может быть продукт сам должен отвечать на этот вопрос пользователей.
Читать дальше →

Релиз PyCharm 1.0 — новой Python/Django IDE от JetBrains

Время на прочтение1 мин
Охват и читатели5K
Сегодня компания JetBrains выпустила релиз PyCharm 1.0 — новой интегрированной среды разработки для Python, Django и Google App Engine.

Про то, чем PyCharm лучше других IDE, можно почитать в сравнительной матрице, а также увидеть в скринкастах. Продукт коммерческий, бесплатно можно пользоваться в течение 30 дней. Также можно получить бесплатную лицензию, если вы работаете над open-source проектом.

Будем рады любому фидбэку.

Сумбурные заметки про python и django

Время на прочтение5 мин
Охват и читатели47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

Под катом:
  • как упростить код вьюх ровно в 2 раза
  • легкий способ рисования графиков
  • почему Ian Bicking воскликнул «Cool!»
  • приложения для ВКонтакте на django за 5 минут
  • хорош ли pymorphy?
  • пара фишек насчет выкладки пакетов на pypi
  • что общего между декораторами и with-контекст-менеджерами
  • принимаем оплату на django-сайтах
  • показываем Яндекс.Карту для заданного адреса

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

GUI для rfkill на python с использованием Qt

Время на прочтение2 мин
Охват и читатели3K
image Уже четвертый месяц как я являюсь обладателем прекрасного нет-бука Lenovo S10-3t с встроенным WiMAX. И уже чуть больше месяца как в ядре Linux есть дрова под Intel Corporation WiMAX/WiFi Link 6050 Series. Установить дрова и найти как правильно подключится из консоли тоже не проблема. А так хочется блэкджека и шлюкрасивых рюшечек и простого управления.
Читать дальше →

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

Облегчаем использование pyinstaller для создания exe

Время на прочтение4 мин
Охват и читатели48K
Недавно начал свое знакомство с языком Python с целью применения его для написания в короткие сроки приложений, выполняющих необходимую задачу здесь и сейчас. Так как планируемые приложения могли быть запущены не только на ос, в которых установлен сам Python, было решено собирать exe. Почитав пару топиков на хабре и комментарии к ним, пришел к выводу, что для этих целей прекрасно подойдет pyinstaller. Он довольно прост в использовании, но все же некоторые повторяющиеся моменты можно сократить.
Читать дальше →

PyCon Украина (23-24 октября, Киев)

Время на прочтение1 мин
Охват и читатели1.8K
Друзья питоноводы,

Для тех кто ещё не знает хочу сообщить радостную весть: 23-24 октября мы проводим в Киеве конференцию PyCon Ukraine посвящённую Python.

Конференция международная, и в ней будут принимать участие много иностранных гостей. Ожидается много интересных людей:
Стоимость участия всего 350 грн (примерно $44, или 1 367 руб.).

Регистрируйтесь на http://ua.pycon.org/.

Каждый участник получает бесплатную футболку PyCon Ukraine.


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

pdb – Интерактивный отладчик

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

pdb – Интерактивный отладчик


Версии Python: 1.4 и выше

pdb является интерактивной средой отладки для программ на Python. Он включает возможности приостановки выполнения программы, просмотра значений переменных, построчного выполнения кода так, что вы можете понять, чем ваша программа на самом деле занимается, и найти логические ошибки.
Читать дальше →

Интеграция shared hosting и SVN

Время на прочтение2 мин
Охват и читатели1.2K
Этот скрипт более исследовательский, чем предназначен для серьезных групп разработчиков. Создавался мною чтобы изучить python получше. Но тем не менее, я успешно пользуюсь им более полугода.

Данная статья для тех разработчиков, которые ведут некоторый проект в SVN, имея удаленный сервер, доступ к которому есть по ftp и ssh, но устанавливать на который ничего нельзя.

схема деплоя

если интересно

Браузерный интерпретатор Python

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

На сайте people.csail.mit.edu появился интерпретатор языка Python. Также там есть несколько примеров. Отладку программы можно производить пошагово.
Правда, существуют некоторые ограничения: там нет модуля импорта или ввода/вывода файлов. Поэтому понадобится это, в основном, для показательных и учебных целей.
Всё это базируется на версии языка Python 2.5

Конвертируем .bmp в .png, с помощью Python и PIL

Время на прочтение1 мин
Охват и читатели8.8K
В предыдущем посте я воспользовался стандартным «PrtSc», на Windows XP, сделав серию из скриншотов, обработав и сохранив их в обычном Paint'е — получилось около 3.5 Мб на каждую картинку.

Здесь хочу исправить получившееся недоразумение, средствами питона (по-прежнему, версии 2.6).

Вообще забавно, но после установки PIL проблема решается в две строчки кода.
import Image

Image.open('1.bmp').save('1.png')

Получилось порядка 27 Кб на картинку, против первых 3.5 Мб

Продолжение..

Aptana IDE 2.0.5 + Django = в картинках

Время на прочтение2 мин
Охват и читатели2.8K
Тут будет немного показано, как создать Django-проект, путем импортирования из существующего.
Создать Git-репозиторий, и основные функции использования репозитория.

Несмотря на то, что я уже видел, на хабре, парочку статей на тему использования и настройки Aptana IDE, решил продолжить тему, т.к. она ещё не до конца освещена.

Можно серию из аналогичных визуальных пособий сделать, что бы легче было войти в курс дела и подолгу не искать, для новичка. Показать, в этой IDE все возможности, которые облегчают жизнь. Или подсказать что-то новенькое тем людям, кто не использует до конца её возможности. Ну или же как правильно использовать возможности этой IDE.

Например, здесь описано как скрестить Eclipse и Redmine.

А здесь — введение в работу с Aptana, её установки и настройки. В некоторых моментах могу повторить, что есть там, и на хабре.

Перед тем, как делать скриншоты были предустановленны PyDev и Git. Наверное всем легко будет разобраться, как это сделать. Тем более, что стартовая страница приветствия Aptana, после установки, сразу предлагает установить новые модули, в числе которых их и можно найти.

Предлагаю всем высказаться, на тему того — как сами её используете, и показать это в картинках.

Осторожно, трафик