А.С. Пушкін
Багато зараз виявляють інтерес до мови "Пайтон" (Python) - вільному інтерпретованих об'єктно-орієнтованого мови програмування високого рівня. Ця мова створив Гуїдо ван Россум і назвав на честь свого улюбленого шоу "Monty Python's Flying Circus".
Інтерес до проекту ван Россум абсолютно не випадковий. "Пайтон" - мова універсальний, він широко використовується в усьому світі для самих різних цілей - бази даних, обробка текстів, створення полігонів і розширень для редакторів GIMP і Blender, веб-додатки. Його використовує Google як основний скриптова мова в своїх жахливих дата-центрах. "Пайтон" є кросплатформним, а на платформі "Лінукс" він став вже практично обов'язковим нарівні з bash.
"Пайтон" володіє багатою стандартною бібліотекою і ще більш багатим набором модулів, написаних третіми особами. Пропоную познайомитися з модулем easygui, який, в першу чергу, може вельми стати в нагоді новачкам, хто зацікавився "Пайтон". Але і які набили руку в цій мові даний модуль може вельми спростити кодинг.
Модуль easygui - це джентльменський набір з двох десятків функцій-методів, що полегшують в скриптах "Пайтона" створення елементів графічного інтерфейсу. Графічний інтерфейс в "Пайтон" реалізується за допомогою бібліотек TKinter і WxPython, які для початківця можуть виявитися недостатньо легкими. Методи easygui є як би обгорткою до функцій TKinter, в результаті чого елементи графічного інтерфейсу легко і невимушено викликаються в одну-дві строчки. Це дозволяє на перших порах початківцям не особливо заморочуватися вивченням цієї самої бібліотеки TKinter. Також easygui буде хороший і для чорнових начерків скриптів з графічним інтерфейсом. Але все-таки повноцінного графічного додатку на "Пайтон" за допомогою цього модуля ви не створите.
Сайт бібліотеки - easygui.sourceforge.net . Сама бібліотека easygui.py важить близько 50 кілобайт. Для задіяння цього модуля його слід помістити в каталог разом з виконуваним скриптом або ж покласти в системну папку бібліотек "Пайтона". Наприклад, для системи "Лінукс" це каталог /usr/lib/python2.5/site-packages. Завантажуються всі методи в виконуваний скрипт стандартним шляхом:
from easygui import *Модуль може працювати в демонстраційному режимі:
$ Python easygui.pyЗ'явиться вікно зі списком-меню всіх візуальних елементів цієї бібліотеки, які можна подивитися безпосередньо в дії. Також в папці, звідки імпортовано easygui.py, утворюється спеціальний файл easygui.pyc, який представляє собою платформо-незасімий байт-код, який використовується для збільшення швидкості роботи модуля.
Почнемо з елементів відображення інформації. Найпростіше - це звичайне віконце повідомлення msgbox з великою кнопкою "ок" посередині. Методу msgbox можна передати не тільки текст повідомлення і заголовок, а й файл зображення в форматі gif:
message = 'Привіт, світ!' title = 'Привіт' button = 'OK' image = 'python.gif' msgbox (message, title, button, image)Для відображення більш широкою текстової інформації з текстових файлів представлені елементи textbox і codebox. Вони являють собою поля виведення тексту з необхідними для читання смугами прокрутки. Різниця між ними в тому, що textbox виводить текст з переносами рядки, а codebox зберігає все форматування табуляцією, пробілами і переносами як є.
filename = 'text.txt' f = open (filename, 'r') content = f.readlines () f.close () codebox (filename, 'Перегляд файлу', content)Є велика кількість діалогових вікон різного типу, для забезпечення інтерактивного вибору і управління скриптом. Так, елементи ccbox, ynbox видають банальні діалоги типу "Continue-Cancel", "Yes-No". Діалоги buttonbox, indexbox, boolbox дозволяють на свій розсуд задавати параметри кнопок:
msg = 'Вибрати поета' title = '' choices = [ 'Пушкін', 'Кукушкін'] choice = indexbox (msg, title, choices)Для більш просунутого вибору призначені елементи меню choicebox і multchoicebox. Останній дозволяє вибрати кілька елементів з меню і повертає отриманий набір у вигляді списку:
title = 'Поезія' msg = 'Ваш улюблений поет?' choices = [ 'Пушкін', 'Пастернак', 'Маяковський', 'Ахматова'] choice = choicebox (msg, title, choices)Елементи введення інформації теж присутні. Enterbox, multenterbox і integerbox призначені для введення строкових і цифрових значень, відповідно. Passwordbox і multipasswordbox - для введення у вигляді зірочок суперсекретних даних типу пароля.
І завершують бібліотеку елементи для роботи з файлами і каталогами diropenbox, file-openbox, filesavebox. Це звичні всім діалоги відкриття-закриття файлів типу "Open file", "Save file". Самі ці методи ніяких файлових операцій не виробляють, а просто повертають рядок з ім'ям обраного файлу або каталогу.
От і все. Як бачите, бібліотека не дуже складна у використанні. Дуже швидко відмінник з інформатики в школі зможе створити невеликі Кросплатформені додатки типу перевірки знань з літератури та інших предметів. Шароварники такі програми не пишуть, а ось вчительці буде приємно.
Михайло АСТАПЧІК