Форум сайта python.su
Уважаемые! =) вот возник вопрос, каким образом можно осуществить связь между простым питоном и .net-вариантом данного языка? Чтобы из одного языка можно было вызывать процедуры/работать с классами другого языка и наоборот?
Офлайн
ваш вопрос для меня звучит очень расплывчато … можно по подробнее и на примере (если есть)
Офлайн
допустим, есть два класса: DotNetPy - объект класса в ironPython и CPy - объект класса python
грубо говоря надо сделать так:
Cpy.someMethod = DotNerPy.SomeOtherMethod
Cpy.someMethod(Cpy.CallBackMethod)
т.е. из метода класса нативного питона (cpython) вызвать метод класса дотнетовского питона (ironpython), который бы по завершению действий вызвал метод из класса нативного питона… как-то так :/
UPD:
понял, что IronPython - костыляндия та ещё. поэтому вопрос звучит так:
как из обычного питона вызывать функции из модуля, написанного на C#? (ну и в принципе на любом из других .Net языков - разницы, вроде, не должно быть)
Отредактировано (Май 25, 2009 11:47:28)
Офлайн
Для IronPython есть IronClad
Для интересовавших меня библиотек он не работал, да и по офф страничке видна глюкавость.
В обратную сторону (то, что спрашивал unel) есть Python.Net
Тоже не без проблем, но в целом неплохо. Давно не развивается. Имеет ряд архитектурных и реализационных недочетов.
На работе активно его используем. Уже всунул несколько патчей, но пока еще не готов выкладывать.
P.S.
Код из примера странен. Нужно просто использовать .net events/delegates. Python.Net позволяет вставлять в качестве делегата Python callable.
Офлайн
можно пример? и всё-таки если без .net питона? с обфчного питона - к C#? c примером .. а то всё равно что-то не догоняю =(
Офлайн
есть еще вариант .. к примеру прикрутить автоматизацию с работай внутри БД или складывать в фаил , по завершению процесса запускать ironpython или я чего то не пойму :)
Офлайн
вот пример: написать на PyQt обработчик нажатия кнопки, по которой должна создаваться, ну, допустим форма WPF (C#) с кнопкой, нажатие на которую вызовет создание формы PyQt из xml =)
знаю, корявенький пример, но основной смысл, думаю, ясен =)
Офлайн
спишу на мой кретинизм, однако .. всё это сразу на pyQT реальнее сделать чем с места на место прыгать…. хотя может и ошибаюсь. Смысла не вижу в таких переключениях …. показывай свой код …. фрагмент можно … счя покумекаем.. может и получится :)
Офлайн
рабочего кода нет =) я понимаю, что проще на одном языке всё придумать, но мне нужна именно связка двух языков (python и C#), вот =)
Офлайн
чувак я конечно всё понимаю , только ты предлагаешь весь код с “0” переписать…. а это обычно или дорого или муторно ….
Отредактировано (Май 28, 2009 18:29:14)
Офлайн