この記事は 2021 年 12 月 15 日に投稿しました。
目次
リンク
1. はじめに
こんにちは、iOS のエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用している C#から Pythonを実行する方法についてです。
2. C#から Python を実行する
C#から Python を実行するするには以下の様な実装にします。
実装例
hello.py
print("Hello python!")
Program.cs
using System; using System.Diagnostics; namespace CSharpStartPython { class Program { // Pythonの実行ファイル名 const string PythonExe = "python.exe"; // Pythonのアプリ―ケーション // C#の実行ファイルと同じフォルダかフルパスで指定します。 const string PythonApp = "hello.py"; static void Main(string[] args) { // python.exeの実行結果を読み込む変数 var result = string.Empty; // python.exeのプロセスを設定します。 using (var process = new Process { // Process.Startメソッドに渡すプロパティを設定します。 StartInfo = new ProcessStartInfo(PythonExe) { // OSのシェルを使用しません。 UseShellExecute = false, // pythonのテキスト出力をStandardOutputストリームに出力します。 RedirectStandardOutput = true, // python.exeのコマンドライン引数 Arguments = PythonApp } }) { // python.exeのプロセスを起動します。 process.Start(); // python.exeの実行結果を読み込みます。 using (var reader = process.StandardOutput) { result = reader.ReadLine(); } // python.exeのプロセスの終了を待ちます。 process.WaitForExit(); } // python.exeの実行結果を表示ます。 Console.WriteLine(result); Console.ReadKey(); } } }
実行結果
Hello python!
リファレンス
Processクラス
Python.jp プログラミング言語 Python 情報サイト
Colaboratory(オンライン Python 実行環境)
3. おわりに
今度作成するアプリで CSV ファイルを扱うため、CSV ファイルの処理はPythonで行い、UI は C#で作ろうかと思っています。
そのため C#からPythonを実行する方法を調査しました。
リンク
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッド OS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOS モバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688