Взаимодействие C# со скриптовыми языками (Python, Lua,Perl)
От: Poisent  
Дата: 15.11.07 22:08
Оценка:
Здравствуйте. Подскажите как вызвать функции(Python,Lua,Perl), используя стандартный интерпритатор для данного языка из C#.
Т.е есть Python скрипт, в котором реализована функция Foo , мне необходимо вызвать её из C#, использую интерпритатор Python.
Мне не нужны реализации под .Net, а хотелось бы узнать о механизмах взаимодействия.
Re: Взаимодействие C# со скриптовыми языками (Python, Lua,Pe
От: Mr.Cat  
Дата: 15.11.07 23:05
Оценка:
Здравствуйте, Poisent, Вы писали:
P>Т.е есть Python скрипт, в котором реализована функция Foo , мне необходимо вызвать её из C#, использую интерпритатор Python.

Это точно умеет Python.NET
Re[2]: Взаимодействие C# со скриптовыми языками (Python, Lua
От: Poisent  
Дата: 16.11.07 06:09
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Poisent, Вы писали:

P>>Т.е есть Python скрипт, в котором реализована функция Foo , мне необходимо вызвать её из C#, использую интерпритатор Python.

MC>Это точно умеет Python.NET


Мне не нужен Iron Python, или Python.Net.
Нужну выполнить мою функцию стандартным интерпритатором Python и вернуть результат в C#.
Re: Взаимодействие C# со скриптовыми языками (Python, Lua,Pe
От: stump http://stump-workshop.blogspot.com/
Дата: 16.11.07 06:40
Оценка:
Здравствуйте, Poisent, Вы писали:

P>Здравствуйте. Подскажите как вызвать функции(Python,Lua,Perl), используя стандартный интерпритатор для данного языка из C#.

P>Т.е есть Python скрипт, в котором реализована функция Foo , мне необходимо вызвать её из C#, использую интерпритатор Python.
P>Мне не нужны реализации под .Net, а хотелось бы узнать о механизмах взаимодействия.

C# ничего не знает о Python и Perl. Так?
Поэтому разумно будет предположить, что надо использовать какие-то стандартные средства. Так?
Какие у нас есть стандартные средства для взаимодействия с unmanaged кодом?
System.Diagnostics.Process и PInvoke (есть еще COM Interop, но он вероятно тут не подойдет).
Теперь осталось решить, как Python сможет опубликовать нужную функцию.
Понедельник начинается в субботу
Re[3]: Взаимодействие C# со скриптовыми языками (Python, Lua
От: TK Лес кывт.рф
Дата: 16.11.07 07:36
Оценка:
Здравствуйте, Poisent, Вы писали:

P>Мне не нужен Iron Python, или Python.Net.

P>Нужну выполнить мою функцию стандартным интерпритатором Python и вернуть результат в C#.

Process.Start и на вход кидайте ему все что нужно выполнить. Результаты вытаскивать из Process.StandardOutput
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Взаимодействие C# со скриптовыми языками (Python, Lua
От: Mr.Cat  
Дата: 16.11.07 11:56
Оценка:
Здравствуйте, Poisent, Вы писали:
P>Мне не нужен Iron Python, или Python.Net.

Вы вообще смотрели ссылку?

At a very high level, to embed Python in your application you will need to:

* Reference Python.Runtime.dll in your build environment
* Call PythonEngine.Intialize() to initialize Python
* Call PythonEngine.ImportModule(name) to import a module

The module you import can either start working with your managed app environment at the time its imported, or you can explicitly lookup and call objects in a module you import.

Python.NET — это по большому счету обертка для Python/C API. Этот самый Python/C API как раз позволяет решить Вашу задачу. В принципе, можно использовать и его, но Python.NET — удобнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.