我想从Python文件中获取一个变量并将其写入控制台 以下是我尝试过的:
main.py
myVar = "Hello There"
program.cs
using System;
using IronPython.Hosting;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var py = Python.CreateEngine();
var pythonVariable = py.ExecuteFile("main.py");
Console.WriteLine(pythonVariable);
Console.Read();
}
}
}
我希望输出是“Hello There”,但我得到了这样的结果:'Microsoft.Scripting.Hosting'脚本作用域'
你得到的结果暗示着你要寻找什么。
ExecuteFile
返回一个ScriptScope
,其中包含在执行的Python代码中定义的所有变量。你知道吗为了从中检索特定变量,您需要使用
GetVariable
或TryGetVariable
(如果文件中可能不存在该变量),例如:注意,我使用了
GetVariable
的通用版本来立即将其转换为string
。非泛型版本返回一个dynamic
对象,选择所需的对象取决于您打算如何使用该变量按照这个程序,它应该工作,一定要有文件在正确的地方。我看不到你设置任何变量会这样做,只需遵循以下代码:
相关问题 更多 >
编程相关推荐