C# から Python を呼び出す方法

環境

windows 10 Pro 64bit
Visual Studio 2019

Visual Studio 2019 での様子
Visual Studio 2019 での様子

Face01_imager_windows は特定のフォルダを監視してフォルダ内の画像に含まれた顔から登録・未登録の顔をクロップして保存する Python 製のアプリケーションです。
今回は C# から呼び出して実行する様子を見てみます。

ソースコード

C# から外部コマンドを呼び出す方法はいくつかあるようですが、今回は一番簡単な方法を試してみました。外部コマンドを py 、引数として絶対パスで Python ファイルを呼び出しています。

using System;
using System.Diagnostics;

namespace ProcessStartSample
{
    class Program
    {
        static void Main(string[] args)
        {
            var app = new ProcessStartInfo();
            app.FileName = "py";
            app.Arguments = "C:\\Users\\user\\Face01\\newFaceRecognitionFolder\\face01_imager_windows.py";
            app.UseShellExecute = true;

            Process.Start(app);
        }
    }
}
Face01_imager が呼び出されている様子
Face01_imager が呼び出されている様子

まとめ

今回は直接 Face01_imager を呼び出していますが、あらかじめ顔認証に必要な引数を短いコードにまとめてそれを呼び出すほうが現実的だと思います。

この様に使い慣れた開発環境で GUI アプリケーションを作れますので是非お試しください。