スクリプトのpythonの引数を持つC#の呼び出し

問題の説明:Pythonで書かれた次のメソッドのパラメータを呼び出すためにC#を使用して、戻り値を取得したいです。

DEF Quadratic_Equations(A、B、C):
    D = B ** 2-4 * A * C 
    ANS = [] 
    ans.append(( -b + math.sqrt(D))/(2 * ))
    ANS。追記(( -b-math.sqrt(D))/(2 * ))
     戻り ANS

C#のコードは次のとおりです。

クラスプログラム
    { 
        静的 ボイドメイン(文字列[]引数)
        { 
            文字列名= CallPythonExam.py 
            リスト < ストリング > PARAM = 新しいリスト< ストリング >(){ " 3 "" 5 "" 1 " }。
            RunPythonScript(名前、PARAM)。
        } 
        
        静的 無効 RunPythonScript(文字列名、リスト< 文字列 >
        { 
            プロセスP = 新しい新しいプロセス();
             // の.pyファイルの絶対パス
            文字列のパス= @ " D:\ PythonPrograms \ VelocityProfile \ VelocityProfile \ " + 名、
             文字列引数= パス;
             //は、パラメータを追加
            するforeachVARの項目引数を)
                引数 + = "  " + 項目;
             // Pythonのインストールパス 
            p.StartInfo.FileName = @ "C:\プログラムファイル(x86の)\のMicrosoft Visual Studioの\共有\ Python36_64 \ python.exeで" ; 
            
            // 以下は、私が.......ダウンインターネットから直接コピーするものである 
            p.StartInfo.Arguments = 引数;
             / / 有効にしませんシェルの起動プロセス 
            p.StartInfo.UseShellExecuteは= ; 
            p.StartInfo.RedirectStandardOutput = trueに
            p.StartInfo.RedirectStandardInput = trueに
            p.StartInfo.RedirectStandardError = trueに;
             // 新しいウィンドウ作成せずに 
            p.StartInfo.CreateNoWindowを= trueに
            p.Start(); 
            StreamReaderをSR = p.StandardOutput。
            しばらく(!sr.EndOfStream)
                Console.WriteLineを(sr.ReadLine()); 
            Console.ReadLine(); 
            p.WaitForExit(); 
        } 
    }

次のようにPythonのコードは次のとおりです。

インポート数学
 インポートSYS 

DEF Quadratic_Equations(STRA、STRB、STRC): = フロート(STRA)
    B = フロート(STRB)
    C = フロート(STRC)
    D = B ** 2-4 * C 
    ANS = [] 
    ANS。追記(( -b + math.sqrt(D))/(2 * ))
    ans.append(( -b-math.sqrt(D))/(2 * ))
     プリント(ANS [0])
     印刷(ANS [1 ])
     #の戻りSTR(ANS [0])

Quadratic_Equations(sys.argvの[ 1]、sys.argvの[2]、sys.argvの[3])

式のこのソリューションは、画面に出力することができます。

https://github.com/Larissa1990/use-C-to-call-.py-file

おすすめ

転載: www.cnblogs.com/larissa-0464/p/11965564.html
おすすめ