Обновить
490.39

Python *

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

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

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

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

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

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

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

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

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

Время на прочтение8 мин
Количество просмотров8.6K
image

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

Python Bug Weekend

Время на прочтение1 мин
Количество просмотров924
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 мин
Количество просмотров794
«Где моя кнопка? Почему она неактивна?» Как часто программист может слышать эти слова от пользователей своего продукта? Скорее всего, более чем очень часто для того, чтобы задуматься, а может быть продукт сам должен отвечать на этот вопрос пользователей.
Читать дальше →

Релиз 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 мин
Количество просмотров2.9K
image Уже четвертый месяц как я являюсь обладателем прекрасного нет-бука Lenovo S10-3t с встроенным WiMAX. И уже чуть больше месяца как в ядре Linux есть дрова под Intel Corporation WiMAX/WiFi Link 6050 Series. Установить дрова и найти как правильно подключится из консоли тоже не проблема. А так хочется блэкджека и шлюкрасивых рюшечек и простого управления.
Читать дальше →

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

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

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

Время на прочтение1 мин
Количество просмотров1.7K
Друзья питоноводы,

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

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

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

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


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

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

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

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


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

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

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

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

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

схема деплоя

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

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

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

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

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

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

Время на прочтение1 мин
Количество просмотров8.5K
В предыдущем посте я воспользовался стандартным «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, после установки, сразу предлагает установить новые модули, в числе которых их и можно найти.

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

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

Библиотека для вывода изображений в командную строку

Время на прочтение1 мин
Количество просмотров9.1K
image

Fabulous — замечательная библиотека, позволяющая выводить красивый цветной текст, картинки, фигуры прямо в окно терминала!

Для того, чтобы установить библиотеку, выполните в терминале:
sudo apt-get install gcc python-imaging python-setuptools
sudo easy_install -U fabulous

Или просто скачать в архиве:

fabulous-0.1.3.tar.gz

Документация

После установки можете попробовать несколько примеров, выполнив такой код:
python -m fabulous.demo - выводит в терминал примерно первое изображение
python -m fabulous.rotating_cube
— пример вращающегося куба
python -m fabulous.image obama.jpg — после такого вызова в терминале появится следующее изображение (как видите, чтобы вывести изображение, достаточно одной строки):

image

Gnome Forismatic Notify Applet

Время на прочтение3 мин
Количество просмотров1.3K
Добрый день!
Начав использовать python в своих адмниских целях, а-ля написание несложных скриптов, не мог нарадоваться простоте этого языка. Почти сразу же возникло желание попробовать написать полноценное приложение на python. Но никак не мог придумать, что б такого создать чтобы это было интересно и полезно не только для меня. Идея пришла после прочтения этого топика на хабре, к сожалению он сейчас не доступен, но, если кратко, речь идет о отображении цитат с сайта forismatic.com при открытии консоли.
Я решил, что было б неплохо написать апплет для gnome, который будет показывать эти же цитаты, но с помощью уведомлений. Тогда б не пришлось открывать новую консоль, чтоб прочесть очередную цитату. Результат мне понравился, и захотелось поделится им с сообществом.
Читать дальше →

Пишем себе немного OpenID-авторизации

Время на прочтение10 мин
Количество просмотров9.9K
image

Взгляд в будущее


    В последнее время всякие социальные сети и вообще сервисы-лидеры интернета по посещаемости и количеству аккаунтов завели очень неплохую, на мой взгляд, привычку — предоставление уникальных OpenID-идентификаторов для пользователей, дабы с их использованием можно было зайти на сторонний сайт. Кроме того, параллельно развивается очень похожая, но все-таки не совсем производная технология OAuth, которая появилась на свет благодаря стараниям создателей небезызвестного Twitter и, цитируя википедию, «позволяет предоставить третьей стороне доступ к защищенным ресурсам пользователя, без необходимости передавать ей (третьей стороне) логин и пароль».
    Лично меня такая тенденция очень радует и, более того, я почти уверен, что за подобной технологией будущее. В частности, в будущем обязательно появятся новые мэшапы для агрегирования информации с кучи сайтов (в частности, хочется вспомнить очень хороший, но несправедливо забытый сервис Yahoo Pipes, который так и не смог покорить сердца и умы просто потому, что его время тогда еще не пришло. Возможно, все еще впереди), а именно такой «форм-фактор» требует логина на кучу сервисов сразу.
Читать дальше →

Python как базовый язык для ASP.NET

Время на прочтение1 мин
Количество просмотров7K
Один из разработчиков IronPython (.NET-реализации языка Python) опубликовал в своем блоге запись с анонсом новой версии реализации интеграции IronPython как базового языка для разработки ASP.NET-приложений.

Пакет для ASP.NET поставляется с примером приложения. Вот кусок кода, который реализует два обработчика для ASP.NET: загрузки страницы и нажатия на кнопку:

image

Пакет интеграции IronPython и ASP.NET распространяется с открытым исходным кодом под лицензией Apache 2.0.

Этот релиз примечателен тем, что в нем присутствуют исходные коды сборки Microsoft.Scripting.AspNet.dll под опенсорс-лицензией.

Загрузить пакет IronPython and ASP.NET integration можно по этой прямой ссылке.

Для удобства разработки, вы можете захотеть установить набор инструментов IronPython tools for Visual Studio.

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