Форум сайта python.su
Добрый вечер дамы и господа
Хотел бы узнать такой вопрос : можно ли из c# запустить скрипт python?
Ну и как всегда, дьявол кроется в деталях, поэтому особоенно интересно, можно ли запустить скрипт написанный на cpython а не на ironpython. Как я понимаю на различных реализациях питона и библиотеки разные… либо можно все библиотеки использовать на всех реализациях питона ?
Большое спасибо за ответы
Офлайн
sl0wМожно.
можно ли запустить скрипт написанный на cpython а не на ironpython
sl0wНельзя.
Как я понимаю на различных реализациях питона и библиотеки разные… либо можно все библиотеки использовать на всех реализациях питона ?
Офлайн
очень выручили меня, а можете подсказать, где можно почитать про с# + cpython
Офлайн
sl0wВот здесь предлагается (наверное, самый простой) способ, как запустить консольную программу на CPython из программы на C#. Идея состоит в том, чтобы в функции Main() программы на C# записать программу Python, оформив ее в виде многострочной строки, записать эту строку в текстовый файл (test.py), затем там же в Main() программы на C# создать процесс, связать его с python.exe и скормить этому процессу файл test.py. Ну и еще дополнительно сделать некоторые манипуляции с перенаправлением стандартного вывода.
можно ли запустить скрипт написанный на cpython а не на ironpython.
Офлайн
Вы както сложно советуете. Питон сторонний процесс, и смотреть надо запуск процессов (Process) (это касается не только питона но и любых приложений). Вовсе не обязательно писать скрипт программой.
Само собой обмен данными будет через командную строку. Полноценное взаимодействие как в iron будет невозможно. iron не советую использовать поскольку практически всегда нужны доп. библиотеки которых там нет.
p.s.
в моей деятельности C# вымер, поскольку не осталось ситуаций когда он лучше других альтернатив. Поэтому за конкретикой к документации C#.
Отредактировано doza_and (Март 11, 2017 07:13:26)
Офлайн
doza_andА на мой взгляд пример по данной ссылке очень простой. Он конечно не реалистичный - всего лишь сложение двух чисел в консольной программе на Python, которая создается и вызывается из программы на C#. Но сложным его не назовешь.
Вы както сложно советуете.
doza_andДа никто и не говорил, что это обязательно. В .NET, как и в Python, можно вызывать исполнение внешней программы, предварительно записанной в файле. Я тоже об этом думал, когда читал пример. Но автор, видимо, хотел показать другую возможность.
Вовсе не обязательно писать скрипт программой.
Отредактировано old_monty (Март 11, 2017 09:41:05)
Офлайн
sl0wТут
где можно почитать про с# + cpython
Отредактировано Shaman (Март 11, 2017 11:16:27)
Офлайн
ShamanНу это если работа не нужна
Сразу предлагаю рассмотреть возможность замены C# на D.
Офлайн
FishHookЕсли бы все только и подстраивались под рынок, человечество до сих пор жило бы в пещерах. Лично мне приятнее получать меньше за то что нравится, чем быть осознанным, высокооплачиваемым производителем г-на.
Ну это если работа не нужна
Отредактировано Shaman (Март 11, 2017 12:26:09)
Офлайн
ShamanПонимаешь, дорогой друг, мы живем в мире довольно суровом и наши хотелки далеко не всегда покрываются возможностями. Со всякими непопулярными технологиями есть куча проблем:
Если бы все только и подстраивались под рынок, человечество до сих пор жило бы в пещерах. Лично мне приятнее получать меньше за то что нравится, чем быть осознанным, высокооплачиваемым производителем г-на.
Офлайн