2

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();
Ali
  • 75
  • 1
  • 6

1 Answers1

4

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);
Jeff Mercado
  • 129,526
  • 32
  • 251
  • 272