Прикладушки на Питоне

Язык Python можно использовать и как обычный командный интерпретатор, и как альтернативу PHP в разработке сайтов, и как средство написания плагинов для прикладных программ, и как средство создания самих прикладных программ. Рассмотрим несколько таких прикладных приложений.


Mirage

Считается, что быстродействие - это основной недостаток интерпретируемых языков. В теории это верно. Но на практике основным фактором быстродействия программы является "прямизна" рук программиста. Потому что тормозную программу можно написать даже на Ассемблере.

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

"Мираж" (mirageiv.berlios.de) - это очень шустрая смотрелка графических файлов, несмотря на то, что написан на Python. По скорости программа не уступает другим смотрелкам графики. Я её давно использую как средство именно для быстрого просмотра фотографий в каталогах.

"Мираж" представляет собой скрипт весом менее 200 килобайт. Из зависимостей требует только PyGTK 2.6. Запускается кликом мыши даже без установки.

А ещё "Мираж" ценен тем, что может открывать не только файлы растровых форматов, но и векторные .svg.

В программе присутствует предпросмотр графических файлов в каталогах в виде превьюшек. Из режимов просмотра поддерживается слайд-шоу.

Набор дополнительных функций невелик - rotating, zooming, flipping, resizing, cropping. Есть здесь возможность сделать скриншот экрана. Дополнительные возможности можно реализовать через меню "Edit - Castom Action", через которое можно осуществлять вызов внешних программ.

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


Metamorphose

"Метаморфоза" (file-folder-ren.sourceforge.net) - это простая, но для многих нужная полезняшка, которая может пригодиться при необходимости пакетного переименования файлов. Программа обладает графическим русифицированным интерфейсом. Из зависимостей потребует модуль wxWidget, который имеется практически в любом дистрибутиве.

Визуально "Метаморфоза" представляет собой окошко с несколькими вкладками. На основной вкладке, путём щёлканья мышью на различных переключателях и кнопках, можно задать необходимые параметры переименования файлов. Можно задавать в именах нумерацию, вставку даты и времени, преобразовывать регистры, сокращать и удлинять имена. Есть возможность при переименовании звуковых файлов использовать информацию из тегов ID3.

Внизу "Метаморфозы" имеется небольшое окошко предпросмотра, где можно оценить, как будут выглядеть названия переименованных файлов. В случае каких-либо ошибок неправильные имена будут выделяться красным цветом.

Программа является кроссплатформенной и имеется версия для Windows.


Elisa

Переходим к более сложным примерам. "Элиза" (elisa.fluendo.com) - это написанный на Python очень оригинальный, можно сказать, даже единственный в своём роде медиацентр, позволяющий просматривать фотоальбомы, DVD и видео, прослушивать аудиофайлы.

Программу изготовили создатели известных медиакодеков Fluendo, которые многие дистрибутивы "Линукс" предлагают устанавливать для проигрывания тех же mp3-файлов. Сама же "Элиза" в Linux-системах работает на базе медиафреймворка Gstreamer. Всё, на что настроен Gstreamer, будет демонстрировать и "Элиза".

Основной особенностью "Элизы" является интерфейс, предназначенный, в первую очередь, для пульта дистанционного управления. То есть программа рассчитана на пользователя, только что пересевшего от телевизора к компьютеру и не освоившего ещё виртуозное владение мышью и клавиатурой. Также она может оказаться удобной при подключении телевизора к компьютеру. Поэтому не стоит смущаться довольно гламурным видом этого медиацентра.

Python имеет ещё и то преимущество, что позволяет быстро создавать дополнительные модули-плагины. Так, для медиацентра уже имеются плагины для работы с такими интернет-сервисами, как Flickr, YouTube, Picasa и др.

Непосредственно в самой программе через графический интерфейс настроек практически нет. Основная настройка осуществляется через редактирование конфигурационного файла ~/.elisa/elisa.conf. Здесь также можно добавлять адреса каталогов, в которых хранятся медиа-файлы.

Сам интерфейс работает довольно шустро. Из недостатков, наблюдаемых мною, могу отметить довольно медленную скорость индексации графических файлов. Однако наблюдалось это на уже довольно старой версии 3.5, входящей в базовый DVD Ubuntu 8.04. На данный момент готов релиз 5.3, где, вполне возможно, многое усовершенствовано.

Ещё скажу, что "Элиза" имеет достаточно большое количество зависимостей, поэтому желательно устанавливать её из репозитроия дистрибутива, тем более что во многих дистрибутивах "Линукс" программа давно присутствует. Опять-таки, имеется версия для Windows.


Frets on Fire

Не верите, что на Python можно создавать компьютерные игры? А зря. Frets on Fire (fretsonfire.sourceforge.net) - как раз пример компьютерной игры, созданной на Python.

Frets on Fire - это симулятор игры на гитаре, созданный по мотивам компьютерной игры Guitar Hero. Смысл игрового процесса состоит в том, чтобы размять и развить беглость своих окоченевших от длительной работы с "мышью" пальцев рук. Для игры не нужно знания нотной грамоты, наличия музыкального слуха, умения или желания играть на гитаре или же любви к рок-музыке.

Интерфейс игры не сложен. На экране изображается стилизованный гриф пятиструнной гитары, по струнам которой в такт музыкальной композиции движутся ноты. Их нужно вовремя активировать, нажимая соответствующие кнопки на клавиатуре(frets). Результатом нажатия будет какой-нибудь гитарный риф. Чем удачнее будут попадания по нотам, тем больше огненных визуальных спецэффектов будет на экране монитора.

С игрой поставляются три песенки, остальные можно качать в Интернете, благо, фанаты уже много чего насочиняли. Кстати, поддерживается импорт из композиций для Guitar Hero.

Графическим движком игры является модуль PyGame, обеспечивающий визуальный ряд на уровне игрушек Flash. Как знать, не исключено, что Python станет альтернативой флэш-играм и Silverlight.

Из отрицательных впечатлений могу отметить некоторые проблемы с графикой на видеокартах ATI.

Снова замечу, что имеется версия игры не только для "Линукс", но и для Windows.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

09 за 2009 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!