Найти - Пользователи
Полная версия: Запуск скрипта python из c#
Начало » Python для новичков » Запуск скрипта python из c#
1 2 3 4 5 6 7 8 9
sl0w
Добрый вечер дамы и господа

Хотел бы узнать такой вопрос : можно ли из c# запустить скрипт python?
Ну и как всегда, дьявол кроется в деталях, поэтому особоенно интересно, можно ли запустить скрипт написанный на cpython а не на ironpython. Как я понимаю на различных реализациях питона и библиотеки разные… либо можно все библиотеки использовать на всех реализациях питона ?

Большое спасибо за ответы
Shaman
sl0w
можно ли запустить скрипт написанный на cpython а не на ironpython
Можно.
sl0w
Как я понимаю на различных реализациях питона и библиотеки разные… либо можно все библиотеки использовать на всех реализациях питона ?
Нельзя.
sl0w
очень выручили меня, а можете подсказать, где можно почитать про с# + cpython
old_monty
sl0w
можно ли запустить скрипт написанный на cpython а не на ironpython.
Вот здесь предлагается (наверное, самый простой) способ, как запустить консольную программу на CPython из программы на C#. Идея состоит в том, чтобы в функции Main() программы на C# записать программу Python, оформив ее в виде многострочной строки, записать эту строку в текстовый файл (test.py), затем там же в Main() программы на C# создать процесс, связать его с python.exe и скормить этому процессу файл test.py. Ну и еще дополнительно сделать некоторые манипуляции с перенаправлением стандартного вывода.
doza_and
Вы както сложно советуете. Питон сторонний процесс, и смотреть надо запуск процессов (Process) (это касается не только питона но и любых приложений). Вовсе не обязательно писать скрипт программой.
Само собой обмен данными будет через командную строку. Полноценное взаимодействие как в iron будет невозможно. iron не советую использовать поскольку практически всегда нужны доп. библиотеки которых там нет.

p.s.
в моей деятельности C# вымер, поскольку не осталось ситуаций когда он лучше других альтернатив. Поэтому за конкретикой к документации C#.
old_monty
doza_and
Вы както сложно советуете.
А на мой взгляд пример по данной ссылке очень простой. Он конечно не реалистичный - всего лишь сложение двух чисел в консольной программе на Python, которая создается и вызывается из программы на C#. Но сложным его не назовешь.

doza_and
Вовсе не обязательно писать скрипт программой.
Да никто и не говорил, что это обязательно. В .NET, как и в Python, можно вызывать исполнение внешней программы, предварительно записанной в файле. Я тоже об этом думал, когда читал пример. Но автор, видимо, хотел показать другую возможность.
Shaman
sl0w
где можно почитать про с# + cpython
Тут
Сразу предлагаю рассмотреть возможность замены C# на D.
FishHook
Shaman
Сразу предлагаю рассмотреть возможность замены C# на D.
Ну это если работа не нужна
Shaman
FishHook
Ну это если работа не нужна
Если бы все только и подстраивались под рынок, человечество до сих пор жило бы в пещерах. Лично мне приятнее получать меньше за то что нравится, чем быть осознанным, высокооплачиваемым производителем г-на.
FishHook
Shaman
Если бы все только и подстраивались под рынок, человечество до сих пор жило бы в пещерах. Лично мне приятнее получать меньше за то что нравится, чем быть осознанным, высокооплачиваемым производителем г-на.
Понимаешь, дорогой друг, мы живем в мире довольно суровом и наши хотелки далеко не всегда покрываются возможностями. Со всякими непопулярными технологиями есть куча проблем:
1. Можно тупо не найти себе работы в своем регионе. За большие деньги, за маленькие деньги - не важно. В Кемерово ты не найдешь себе работы D-программистом. То есть ты должен сказать своему падавану: “D-это хорошо, круто, но ты либо должен искать работу по всей России, либо быть вечным фрилансером с мутными перспективами”.
2. Ты можешь найти себе работу в маленьком уютном коллективе, пилящем маленький уютный проект и на всю жизнь остаться говнокодером. Программиста воспитывают не книги, а проекты. Да, ты можешь начать с сайтов-визиток, но ты не будешь пилить это гавно всю жизнь, ты хочешь расти и развиваться, а для этого нужна практика. Но крупные игроки на рынке софта умеют мыслить стратегически и не используют технологию из 15-й строки рейтинга популярности. Хочешь навсегда остаться любителем - ну бога ради. Хочешь быть востребованным профессионалом - думай башкой.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB