如何在IronPython中传递命令行参数?

时间:2022-12-10 23:15:15

I am working with IronPython and have got it working somehow. Though, there seems to be no resource on passing command-line arguments to Iron Python. How can I pass command-line arguments to a python program from my C# code?

我正在使用IronPython,并以某种方式让它工作。但是,似乎没有资源将命令行参数传递给Iron Python。如何从C#代码将命令行参数传递给python程序?

setup = new ScriptRuntimeSetup();
                setup.LanguageSetups.Add(IronPython.Hosting.Python.CreateLanguageSetup(null));
                runtime = new ScriptRuntime(setup);
                runtime.IO.RedirectToConsole();
                m_engine = runtime.GetEngine("IronPython");
                m_scope = m_engine.CreateScope();
                source = m_engine.CreateScriptSourceFromString("search_movie.py \""+CommandTextBox.Text+"\"", SourceCodeKind.InteractiveCode);
                source.Execute(m_scope);

What more do I need to do here? As you can see, the name of the python file there is search_movie.py and it takes a movie-name as argument.

我还需要做什么?正如您所看到的,python文件的名称有search_movie.py,它将movie-name作为参数。

1 个解决方案

#1


1  

You need to set the values of sys.argv.

您需要设置sys.argv的值。

engine.Sys.argv = List.Make(args);

Check out http://www.voidspace.org.uk/ironpython/custom_executable.shtml for more details

查看http://www.voidspace.org.uk/ironpython/custom_executable.shtml了解更多详情

#1


1  

You need to set the values of sys.argv.

您需要设置sys.argv的值。

engine.Sys.argv = List.Make(args);

Check out http://www.voidspace.org.uk/ironpython/custom_executable.shtml for more details

查看http://www.voidspace.org.uk/ironpython/custom_executable.shtml了解更多详情