如何使用 pythonnet 获取可用模块
How to get available modules with pythonnet
我正在尝试将 .net dll 导入 python 并想弄清楚如何查看可用的模块。
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Form
在 clr.AddReference 行之后如何查看可导入的内容?我想知道 System.Windows.Forms 可用并且表格可用。
我有一个正在尝试使用的内部 .net dll,但在没有示例的情况下无法弄清楚如何查看我需要调用的模块。一旦我明白了这一点,我就可以看到像
这样的东西有什么用
form = Form()
print(dir(form))
我能够通过以下代码获得我需要的信息:
dll_ref = System.Reflection.Assembly.LoadFile(full_path)
print(dll_ref.FullName)
print(dll_ref.Location)
for i in range(len(dll_ref.DefinedTypes)):
print(dll_ref.DefinedTypes[i])
有一些工具可以向您显示 .NET DLL 中的成员。一个是 Visual Studio 中的 Object Explorer。还有一个来自 JetBrains 的免费工具 dotPeek。
如果您想从 Python 执行此操作,您需要 dir
在您必须事先知道的命名空间上,或者使用 .NET 反射以编程方式检查 DLL。
我正在尝试将 .net dll 导入 python 并想弄清楚如何查看可用的模块。
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Form
在 clr.AddReference 行之后如何查看可导入的内容?我想知道 System.Windows.Forms 可用并且表格可用。
我有一个正在尝试使用的内部 .net dll,但在没有示例的情况下无法弄清楚如何查看我需要调用的模块。一旦我明白了这一点,我就可以看到像
这样的东西有什么用form = Form()
print(dir(form))
我能够通过以下代码获得我需要的信息:
dll_ref = System.Reflection.Assembly.LoadFile(full_path)
print(dll_ref.FullName)
print(dll_ref.Location)
for i in range(len(dll_ref.DefinedTypes)):
print(dll_ref.DefinedTypes[i])
有一些工具可以向您显示 .NET DLL 中的成员。一个是 Visual Studio 中的 Object Explorer。还有一个来自 JetBrains 的免费工具 dotPeek。
如果您想从 Python 执行此操作,您需要 dir
在您必须事先知道的命名空间上,或者使用 .NET 反射以编程方式检查 DLL。