C#Python输入法returns一个错误
C# Python input method returns an error
我刚开始学习 IronPython,我尝试了下面返回 IronPython.Runtime.UnboundNameException: 'name 'hello' is not defined'
的代码。
代码:
var py = Python.CreateEngine();
var scope = py.CreateScope();
py.Execute(@"word = input('Input string\n')", scope);
var input = scope.GetVariable("word");
py.Execute("print " + input);
控制台 运行 好的,然后它要求我输入 Input string
,然后我输入 "hello"
。然后它触发了上面的错误消息。然后我尝试了这个只是为了看看它是否没有 input
方法:
py.Execute(@"x = 2 + 3", scope);
py.Execute("print 'result'," + scope.GetVariable("x"));
所以那个没问题。
有人可以解释一下为什么我不能从 "input"
方法中检索变量吗?为什么是 UnboundNameException
?
非常感谢!
从未使用过 ironpython,答案就在你自己的代码中。
您的代码:
py.Execute(@"word = input('Input string\n')", scope); (I type in dog)
var input = scope.GetVariable("word");
py.Execute("print " + input);
导致最后一行说 py.Execute("print dog") ...但是没有狗变量。
还在这里:
py.Execute("print 'result'," + scope.GetVariable("x"));
你知道用引号括起文本..
我推测
py.Execute("print " + input);
应该阅读
py.Execute("print '" + input + "'");
这导致打印 'dog'
我刚开始学习 IronPython,我尝试了下面返回 IronPython.Runtime.UnboundNameException: 'name 'hello' is not defined'
的代码。
代码:
var py = Python.CreateEngine();
var scope = py.CreateScope();
py.Execute(@"word = input('Input string\n')", scope);
var input = scope.GetVariable("word");
py.Execute("print " + input);
控制台 运行 好的,然后它要求我输入 Input string
,然后我输入 "hello"
。然后它触发了上面的错误消息。然后我尝试了这个只是为了看看它是否没有 input
方法:
py.Execute(@"x = 2 + 3", scope);
py.Execute("print 'result'," + scope.GetVariable("x"));
所以那个没问题。
有人可以解释一下为什么我不能从 "input"
方法中检索变量吗?为什么是 UnboundNameException
?
非常感谢!
从未使用过 ironpython,答案就在你自己的代码中。
您的代码:
py.Execute(@"word = input('Input string\n')", scope); (I type in dog)
var input = scope.GetVariable("word");
py.Execute("print " + input);
导致最后一行说 py.Execute("print dog") ...但是没有狗变量。
还在这里:
py.Execute("print 'result'," + scope.GetVariable("x"));
你知道用引号括起文本..
我推测
py.Execute("print " + input);
应该阅读
py.Execute("print '" + input + "'");
这导致打印 'dog'