Reputation: 75
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
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