call csharp from python

Code Example - call csharp from python

It is actually pretty easy. Just use NuGet to add the "UnmanagedExports" package 
to your .Net project. 
See for details.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using RGiesecke.DllExport;

class Test
    [DllExport("add", CallingConvention = CallingConvention.Cdecl)]
    public static int TestExport(int left, int right)
        return left + right;

You can then load the dll and call the exposed methods in Python (works for 2.7)
import ctypes
a = ctypes.cdll.LoadLibrary(source)
a.add(3, 5)

run python script from csharp

                                using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

private static void doPython()
    ScriptEngine engine = Python.CreateEngine();

//You can get IronPython here :

call python script from csharp

                                private void run_cmd(string cmd, string args)
     ProcessStartInfo start = new ProcessStartInfo();
     start.FileName = "my/full/path/to/python.exe";
     start.Arguments = string.Format("{0} {1}", cmd, args);
     start.UseShellExecute = false;
     start.RedirectStandardOutput = true;
     using(Process process = Process.Start(start))
         using(StreamReader reader = process.StandardOutput)
             string result = reader.ReadToEnd();

run python from csharp

                                string strCmdText;
string file;
file = ""
strCmdText= "python3" + file;