unel
Май 24, 2009 11:12:03
Уважаемые! =) вот возник вопрос, каким образом можно осуществить связь между простым питоном и .net-вариантом данного языка? Чтобы из одного языка можно было вызывать процедуры/работать с классами другого языка и наоборот?
sypper-pit
Май 24, 2009 19:38:06
ваш вопрос для меня звучит очень расплывчато … можно по подробнее и на примере (если есть)
unel
Май 24, 2009 19:48:40
допустим, есть два класса: DotNetPy - объект класса в ironPython и CPy - объект класса python
грубо говоря надо сделать так:
Cpy.someMethod = DotNerPy.SomeOtherMethod
Cpy.someMethod(Cpy.CallBackMethod)
т.е. из метода класса нативного питона (cpython) вызвать метод класса дотнетовского питона (ironpython), который бы по завершению действий вызвал метод из класса нативного питона… как-то так :/
UPD:
понял, что IronPython - костыляндия та ещё. поэтому вопрос звучит так:
как из обычного питона вызывать функции из модуля, написанного на C#? (ну и в принципе на любом из других .Net языков - разницы, вроде, не должно быть)
Андрей Светлов
Май 26, 2009 13:34:43
Для IronPython есть
IronCladДля интересовавших меня библиотек он не работал, да и по офф страничке видна глюкавость.
В обратную сторону (то, что спрашивал
unel) есть Python.Net
Тоже не без проблем, но в целом неплохо. Давно не развивается. Имеет ряд архитектурных и реализационных недочетов.
На работе активно его используем. Уже всунул несколько патчей, но пока еще не готов выкладывать.
P.S.
Код из примера странен. Нужно просто использовать .net events/delegates. Python.Net позволяет вставлять в качестве делегата Python callable.
unel
Май 28, 2009 06:18:15
можно пример? и всё-таки если без .net питона? с обфчного питона - к C#? c примером .. а то всё равно что-то не догоняю =(
sypper-pit
Май 28, 2009 13:25:35
есть еще вариант .. к примеру прикрутить автоматизацию с работай внутри БД или складывать в фаил , по завершению процесса запускать ironpython или я чего то не пойму :)
unel
Май 28, 2009 13:46:54
вот пример: написать на PyQt обработчик нажатия кнопки, по которой должна создаваться, ну, допустим форма WPF (C#) с кнопкой, нажатие на которую вызовет создание формы PyQt из xml =)
знаю, корявенький пример, но основной смысл, думаю, ясен =)
sypper-pit
Май 28, 2009 14:15:00
спишу на мой кретинизм, однако .. всё это сразу на pyQT реальнее сделать чем с места на место прыгать…. хотя может и ошибаюсь. Смысла не вижу в таких переключениях …. показывай свой код …. фрагмент можно … счя покумекаем.. может и получится :)
unel
Май 28, 2009 15:07:38
рабочего кода нет =) я понимаю, что проще на одном языке всё придумать, но мне нужна именно связка двух языков (python и C#), вот =)
sypper-pit
Май 28, 2009 18:28:25
чувак я конечно всё понимаю , только ты предлагаешь весь код с “0” переписать…. а это обычно или дорого или муторно ….