最近项目 需要用到C#调用python的方法

C#环境配置: X64版本

C#利用pythonnet方法调用py文件-LMLPHP

pathToVirtualEnv:虚拟环境所在目录

pathToPythonProject:py文件所在的目录

dynamic heModule = Py.Import("hello"); 这里调用“hello.py”,不加后缀 

using System;
using System.IO;
using Python.Runtime;

class Program
{
    static void Main(string[] args)
    {
        string pathToVirtualEnv = "E:\\Anaconda3\\envs\\ceshi";
        string pathToPythonProject = "E:\\pythonProject1"; // 添加Python文件所在的目录

        // 设置Python DLL路径和Python安装路径
        Runtime.PythonDLL = Path.Combine(pathToVirtualEnv, "python38.dll");
        PythonEngine.PythonHome = pathToVirtualEnv;
        PythonEngine.PythonPath = $"{pathToVirtualEnv}\\Lib\\site-packages;{pathToVirtualEnv}\\Lib;{pathToPythonProject}"; // 将Python文件所在的目录添加到Python路径中

        // 初始化Python引擎
        PythonEngine.Initialize();

        // 使用第三方库
        using (Py.GIL())
        {
            // 导入你的Python脚本模块
            dynamic heModule = Py.Import("hello");

            // 调用Python函数
            int result = heModule.he(@"E:\pythonProject1\VOCdevkit\VOC2007\images\91.jpg");

            // 打印结果
            Console.WriteLine("图片高度为: " + result);
        }

        // 关闭Python引擎
        PythonEngine.Shutdown();

        Console.ReadKey();
    }
}
04-07 01:26