如何使用 Python ScriptEngine 在 C# 中获取所有局部变量名称和值?

How to get all local variable names and values in C# using Python ScriptEngine?

我正在使用 Microsoft.Scripting.Hosting.ScriptEngine 并通过 IronPython.Hosting.Python.CreateEngine() 对其进行实例化。然后我创建一个范围并执行一些 python 代码。

我现在想在 C# 中收集所有本地分配的变量名称及其值。如何通过查询 Python ScriptEngine 和 Scope 从 C# 中提取在 Python 脚本中声明和分配的所有变量名称和值?

谢谢

您可以通过动态对象和反射来做到这一点。 这只是有翅膀的代码,但如果您将解决方案发送给我或托管我,我可以为您解决。

dynamic someOject = IronPython.Hosting.Python.CreateEngine();

foreach (var property in someOject.GetType().GetProperties())
     Console.WriteLine($"Property Name: {property.Name} - Property Value: {property.GetValue(someOject)}");

不确定这是否是您要找的...如果不是,请告诉我,以便我进一步帮助您。