Запуск Python с Ironpython из C # - PullRequest
       11

Запуск Python с Ironpython из C #

0 голосов
/ 20 сентября 2019

Мне уже удалось вызвать определенную функцию python из c #, моя проблема в том, что я хочу, чтобы скрипт python продолжал работать.

Я пытаюсь использовать глобальные переменные, которые изменяются внутри различных функций.когда я вызываю функцию, которая использует глобальную переменную после вызова функции, которая ее изменяет, создается впечатление, что глобальная переменная не меняется, как я могу решить эту проблему?

, например:

в питоне:

class Myclass:

    def __init__(self):
        global X
        X=0
        pass

    def somemethod():
        X= 5

    def set(self,S):
        X=S

    def get(self):
        return X

    def isodd( n):
        return 1 == n % 2

в c #

private void somefunc(object sender, RibbonControlEventArgs e)
        {
            var engine = Python.CreateEngine();
            dynamic py = engine.ExecuteFile(@"........");
            dynamic testClass = py.Myclass();
            string Res = testClass.set(5);
            int Res1 = testClass.get();

            MessageBox.Show(Res1.ToString());

        }

получение 0

...