python调用ironpython_如何使用IronPython将参数传递给Python脚本

谢谢你们指引我正确的方向。出于某种原因,engine.sys似乎不再适用于更新版本的IronPython,因此必须使用GetSysModule。下面是我的代码的修订版本,它允许我更改argv:using System;

using System.Collections;

using System.Collections.Generic;

using System.IO;

using System.Windows.Forms;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using IronPython.Hosting;

using Microsoft.Scripting;

using Microsoft.Scripting.Hosting;

using IronPython.Runtime;

namespace RunPython

{

class Program

{

static void Main(string[] args)

{

ScriptRuntimeSetup setup = Python.CreateRuntimeSetup(null);

ScriptRuntime runtime = new ScriptRuntime(setup);

ScriptEngine engine = Python.GetEngine(runtime);

ScriptSource source = engine.CreateScriptSourceFromFile("HelloWorld.py");

ScriptScope scope = engine.CreateScope();

List argv = new List();

//Do some stuff and fill argv

argv.Add("foo");

argv.Add("bar");

engine.GetSysModule().SetVariable("argv", argv);

source.Execute(scope);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值