gpt4 book ai didi

asp.net - 使用 IronPython 调用带参数的 Python 脚本 - "Need more than x values to unpack"

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:17 24 4
gpt4 key购买 nike

我使用以下 C# 代码通过 IronPython 调用 Python 脚本:

ScriptEngine scriptEngine;

var opts = new Dictionary<string, object>();
opts["Arguments"] = new[] {
Server.MapPath(@"~\Processing\input.7z"), // Input
Server.MapPath(@"~\Processing\key.pem"), // Key
Server.MapPath(@"~\Processing\") }; // Output
scriptEngine = Python.CreateEngine(opts);

var sp = scriptEngine.GetSearchPaths();
sp.Add(Server.MapPath(@"~\python\lib"));
scriptEngine.SetSearchPaths(sp);

var scope = scriptEngine.Runtime.ExecuteFile(Server.MapPath(@"~\python\test.py"));

脚本采用以下参数:

arg0,input,key,output = sys.argv

我收到错误“需要超过 3 个值才能解包”。我做错了什么?

最佳答案

线

arg0,input,key,output = sys.argv

sys.argv 中的参数列表解压缩到左侧的四个变量中。由于 sys.argv 中只有三个参数,因此失败并显示您发布的错误消息(显然您需要手动传递脚本路径才能使其显示为 sys 中的第一个元素.argv).

尝试以不同的方式传递命令行参数(来自 this answer ):

scriptEngine.Sys.argv = List.Make(new[] { 'input.7z', ... });

或者,如果这不起作用,则从 Python 文件的赋值中删除 arg0 变量,或者将脚本的路径显式添加为 C# 中的第一个参数。

关于asp.net - 使用 IronPython 调用带参数的 Python 脚本 - "Need more than x values to unpack",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6558126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com