Ironpython windows console что это

IronPython: что это за программа? Установка, настройка и описание

Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это

Характеристика IronPython по сравнению с CPython

Точные характеристики производительности IronPython, если сравнивать с CPython (это эталонная реализация языка программирования Python), будут зависеть от конкретного использования конкретного синтаксиса. В целом IronPython по производительности чуть хуже, чем CPython. Это доказано большим количеством тестов, сделанных с использованием скрипта PyStone.

Установка Iron P ython

В целом установка Iron P ython — дело не хитрое. Будут небольшие различия в зависимости от того, какую операционную систему вы используете.

Установка Iron P ython в Linux

Установка Iron P ython в Linux довольно проста и умести тся в несколько простых шагов:

Установка Iron P ython MacOS

Здесь тоже все просто. Сама установка займет пару минут и всего несколько шагов:

Установка IronPython в Windows

Здесь всего 2 шага отделяет вас от программирования на этом языке:

Так что это за программа IronPython, для чего использовать?

Использовать или нет IronPyt h on — зависит только от вашего желания и необходимости конкретно в этом языке.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Перейдем непосредствено к кодированию.
Для начала, рассмотрим интерфейс тестового приложения «Notepad».

Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это
Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это

В меню «Сервис» и разместим пункт «Макросы». Для примера рассмотрим простейший вариант формирования списка макросов — в каталоге с программой создадим папку «Macroses» файлы из этой папки станут пунктами меню.

internal class MacrosToolStripMenuItem : ToolStripMenuItem
<
public MacrosToolStripMenuItem( string FileName) : base (FileName) < >
public string MacrosFileName < get ; set ; >
>

MacrosToolStripMenuItem — класс-наследник от ToolStripMenuItem отличающийся только свойством MacrosFileName

Для начала, создадим макрос, который просмотрит текст в textBox’е и найдет все e-mail адреса вида «vpupkin@mail.ru». В папке Macroses создаем файл SaveEmail.py, запускаем приложение — и смотрим, что в меню Макросы появился пункт SaveEmail.

Теперь собственно ключевой момент — выполнение IPy скрипта и доступ его к интерфейсу. Добавляем к проекту ссылку на сборку IronPython.dll. И создаем класс MacroRunner — выполняющий скрипт.

public class MacroRunner
<
public static Form CurrentForm;

public string FileName

try
<
pyEngine.ExecuteFile(FileName);
>
catch (Exception exc)
<
MessageBox.Show(exc.Message);
>
>
>

Ключевой момент — подключение к выполняющей среде IPy текущей сборки — для доступа к форме. Когда сборка подключена, в IPy скрипте появится возможность использовать классы пространства имен Notepad. Так же, через LoadAssebmly можно добавить и другие необходимые сборки — типа System.Windows.Forms — чтобы работать с формами.
Класс готов, теперь модифицируем обработчик клика на пунктах подменю Макросы

protected void macroToolStripMenuItem_Click( object sender, EventArgs e)
<
MacrosToolStripMenuItem item = sender as MacrosToolStripMenuItem;

MacroRunner runner = new MacroRunner() < FileName = item.MacrosFileName >;
MacroRunner.CurrentForm = this ;
runner.Execute();
>

Здесь следует отметить следующий момент — чтобы передать в IPy-скрипт форму, из которой собственно вызывается макрос — используется статическое поле CurrentForm. В скрипте форма будет доступна как Notepad.MacroRunner.CurrentForm. В идеале, скрипт, разумеется, не должен иметь полного доступа к интерфейсу формы — а должен пользоватся только предоставленным API — и ограничиваться только им. Но сейчас этим заморачиваться не будем — и просто сделаем textBox открытым (Modifier = Public). Ну и кроме текстового поля, разрешим скрипту доступ к пункту меню Сервис (Modifier = Public).

Работа с формой закончена, собираем проект и открываем файл SaveEmail.py — теперь работаем только с макросами.

Итак, первый макрос — SaveEmail.py:

Т.к. сборка подключена к среде выполнения — то доступно пространство имен Notepad — в котором объявлены классы приложения. Как раз сейчас потребуется статический метод класса MacroRunner — чтобы получить доступ к активной форме (еще раз оговорюсь — что правильнее было бы предоставить не прямой доступ, а через класс-посредник — которые ограничит доступ определенным API). Ну а дальше все просто — получаем текст, регулярным выражением вытаскиваем email — и сохраняем их в файл в текущем каталоге.

Можно запустить приложение, ввести произвольный текст, содежащий email — и убедиться, что после того, как макрос отработал — в папке с выполняемой программой появился файл emails.txt.

Теперь еще один пример, что может сделать макрос — чуть интереснее предыдущего. Итак, создаем в папке Macroses файл UIModifier.py. Как можно догадаться по названию — макрос будет изменять элементы интерфейса приложения. Конкретно — добавит новый пункт в меню Сервис. Для того, чтобы можно было работать с элементами управления WinForms необходимо в среде выполнения IPy подключить сборку System.Windows.Forms. Это можно сделать в момент запуска скрипта из приложения — добавить еще один вызов LoadAssembly. Но мы решили — никаких перекомпиляций, пусть IronPython обходится своими силами. Ну что ж, силы есть :). Чтобы подключить сборку используется метод AddReference класса clr.

from Notepad import *
main = MacroRunner.CurrentForm

import clr
clr.AddReference( «System.Windows.Forms» )
from System.Windows.Forms import *

def pyHello(s,e):
MessageBox.Show( «Hello from IPy!» )

item = ToolStripMenuItem()
item.Name = «pybtn»
item.Text = «Python created!»
item.Click += pyHello

Все просто — получаем текущую форму, подключаем сборку System.Windows.Forms и импортируем из пространства имен System.Windows.Forms все — пригодится.
pyHello — простенький обработчик события — при щелчке на созданном пункте меню — будет выводится сообщение.

Запускаем приложение, выполняем макрос. Смотрим пункт меню Сервис:

Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это
Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это

При щелчке на пункт меню «Python сreated!» появится стандартный MessageBox — собственно, чего и добивались.

Источник

IronPython

Для начала создадим приложение Windows Forms и добавим туда все, что требуется:

В этот раз не будем пытаться решать сложных проблем, придумаем что-нибудь простое и одновременно показывающее взаимодействие Python и C#. Пусть нам необходимо сложить 2 числа (и мы по каким-то причинам не хотим делать эту операцию обыкновенным способом «в столбик» или с помощью калькулятора). Для этого добавим на нашу форму 3 TextBox-а, пару Label-ов и один Button. Должно получиться примерно так:

Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это

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

Определим две переменные:

Стоит отметить, что все, что будет взаимодействовать с IronPython, должно быть “public”.

Существует несколько методов для работы со скриптами в Ironpython:

Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это

Мне больше всего нравится способ ExecuteFile(), его и будем использовать. Для этого в метод инициализации формы добавим следующее:

Для того, чтобы выполнить какой-нибудь скрипт, добавим в код метода обработки кнопки следующий код:

В указанном выше коде выполняется построчно следующее:

Ну и сам Python-файл с функцией содержит код:

Проверим, как работает наш «вычислитель»:

Ironpython windows console что это. Смотреть фото Ironpython windows console что это. Смотреть картинку Ironpython windows console что это. Картинка про Ironpython windows console что это. Фото Ironpython windows console что это

Верно! У нас получилось написать простейшее приложение с применением этой технологии. Кажется, мы решили «детскую» задачку – написали простейший калькулятор, который умеет только складывать два числа. Но разве не с простых «детских» задач начинается изучение чего-то нового?! Лично для себя я вижу неплохую возможность в изучении с использованием уже знакомых мне инструментов. С помощью IronPython можно не только интерпретировать некоторый код, но и проводить некоторые параллели при изучении Python. К примеру, код на C#:

Будет эквивалентен следующему коду на IronPython:

Есть некоторое сходство, верно?!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *