如何使用pythonnet获取可用模块

2024-04-25 08:41:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将.NETDLL导入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])

Tags: 模块fromimportformrefwindowsformssystem
1条回答
网友
1楼 · 发布于 2024-04-25 08:41:42

有一些工具可以显示.NET DLL中的成员。一个是VisualStudio中的对象资源管理器。JetBrains还有一个名为dotPeek的免费工具

如果要从Python执行此操作,则需要在必须事先知道的命名空间上dir,或者使用.NET反射以编程方式检查DLL

相关问题 更多 >