Уведомления

Группа в Telegram: @pythonsu

#1 Март 10, 2017 22:10:21

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

Добрый вечер дамы и господа

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

Большое спасибо за ответы

Офлайн

#2 Март 10, 2017 22:19:35

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

sl0w
можно ли запустить скрипт написанный на cpython а не на ironpython
Можно.
sl0w
Как я понимаю на различных реализациях питона и библиотеки разные… либо можно все библиотеки использовать на всех реализациях питона ?
Нельзя.

Офлайн

#3 Март 10, 2017 22:45:33

sl0w
Зарегистрирован: 2016-04-28
Сообщения: 109
Репутация: +  1  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

очень выручили меня, а можете подсказать, где можно почитать про с# + cpython

Офлайн

#4 Март 10, 2017 23:03:34

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

sl0w
можно ли запустить скрипт написанный на cpython а не на ironpython.
Вот здесь предлагается (наверное, самый простой) способ, как запустить консольную программу на CPython из программы на C#. Идея состоит в том, чтобы в функции Main() программы на C# записать программу Python, оформив ее в виде многострочной строки, записать эту строку в текстовый файл (test.py), затем там же в Main() программы на C# создать процесс, связать его с python.exe и скормить этому процессу файл test.py. Ну и еще дополнительно сделать некоторые манипуляции с перенаправлением стандартного вывода.

Офлайн

#5 Март 11, 2017 07:08:48

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

Вы както сложно советуете. Питон сторонний процесс, и смотреть надо запуск процессов (Process) (это касается не только питона но и любых приложений). Вовсе не обязательно писать скрипт программой.
Само собой обмен данными будет через командную строку. Полноценное взаимодействие как в iron будет невозможно. iron не советую использовать поскольку практически всегда нужны доп. библиотеки которых там нет.

p.s.
в моей деятельности C# вымер, поскольку не осталось ситуаций когда он лучше других альтернатив. Поэтому за конкретикой к документации C#.



Отредактировано doza_and (Март 11, 2017 07:13:26)

Офлайн

#6 Март 11, 2017 09:26:15

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

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

doza_and
Вовсе не обязательно писать скрипт программой.
Да никто и не говорил, что это обязательно. В .NET, как и в Python, можно вызывать исполнение внешней программы, предварительно записанной в файле. Я тоже об этом думал, когда читал пример. Но автор, видимо, хотел показать другую возможность.

Отредактировано old_monty (Март 11, 2017 09:41:05)

Офлайн

#7 Март 11, 2017 11:11:13

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

sl0w
где можно почитать про с# + cpython
Тут
Сразу предлагаю рассмотреть возможность замены C# на D.

Отредактировано Shaman (Март 11, 2017 11:16:27)

Офлайн

#8 Март 11, 2017 11:53:45

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

Shaman
Сразу предлагаю рассмотреть возможность замены C# на D.
Ну это если работа не нужна



Офлайн

#9 Март 11, 2017 12:21:59

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

FishHook
Ну это если работа не нужна
Если бы все только и подстраивались под рынок, человечество до сих пор жило бы в пещерах. Лично мне приятнее получать меньше за то что нравится, чем быть осознанным, высокооплачиваемым производителем г-на.

Отредактировано Shaman (Март 11, 2017 12:26:09)

Офлайн

#10 Март 11, 2017 13:19:28

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Запуск скрипта python из c#

Shaman
Если бы все только и подстраивались под рынок, человечество до сих пор жило бы в пещерах. Лично мне приятнее получать меньше за то что нравится, чем быть осознанным, высокооплачиваемым производителем г-на.
Понимаешь, дорогой друг, мы живем в мире довольно суровом и наши хотелки далеко не всегда покрываются возможностями. Со всякими непопулярными технологиями есть куча проблем:
1. Можно тупо не найти себе работы в своем регионе. За большие деньги, за маленькие деньги - не важно. В Кемерово ты не найдешь себе работы D-программистом. То есть ты должен сказать своему падавану: “D-это хорошо, круто, но ты либо должен искать работу по всей России, либо быть вечным фрилансером с мутными перспективами”.
2. Ты можешь найти себе работу в маленьком уютном коллективе, пилящем маленький уютный проект и на всю жизнь остаться говнокодером. Программиста воспитывают не книги, а проекты. Да, ты можешь начать с сайтов-визиток, но ты не будешь пилить это гавно всю жизнь, ты хочешь расти и развиваться, а для этого нужна практика. Но крупные игроки на рынке софта умеют мыслить стратегически и не используют технологию из 15-й строки рейтинга популярности. Хочешь навсегда остаться любителем - ну бога ради. Хочешь быть востребованным профессионалом - думай башкой.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version