Ali
Ali

Reputation: 75

Run Python script from C# with command line params

I need to execute Python script from C# using IronPython and pass into it some command line parameters. Is there any way to do it?

My sample code:

        var e = Python.CreateEngine();
        var source = e.CreateScriptSourceFromFile(@"...");
        source.Execute();

Upvotes: 2

Views: 1383

Answers (1)

Jeff Mercado
Jeff Mercado

Reputation: 134891

Sure. When you create your engine, call the overload that takes in additional options and set the "Arguments" to your array of strings.

var options = new Dictionary<string, object>
{
    { "Arguments", new[] { "foo", "bar", "biz baz" } },
};
var engine = Python.CreateEngine(options);
var script = @"
import sys
print sys.argv # ['foo', 'bar', 'biz baz']
";
engine.Execute(script);

Upvotes: 4

Related Questions