我对在IronPython中导入模块的两种方法感到困惑。
一方面,IronPython 2.7.4随附的教程文档指出您可以使用常规import
语法进行操作:
import System
from System import Xml
正如我所期望的那样。
另一方面,互联网上的许多资源都指出,导入模块的方式是通过使用clr
模块来实现的,如下所示:
import clr
clr.AddReference("System.Xml")
两种方法有什么区别?
当我研究这个问题时,我偶然发现了我认为是答案的东西(这仅仅是试错法,所以如果我错了,我很乐意得到纠正!)
import
Python中的语句更类似于using <namespace>
C#中的语句。您仍然需要加载相关的.dll程序集。C#在编译时通过使用引用来做到这一点;IronPython默认情况下包括标准CLR引用,因此可以立即进行import System.Xml
但是,如果要加载IronPython默认不包含的.dll,则必须使用clr.AddReference("myAssembly.dll")
,然后使用import
语句来导入模块。
例如:
import clr
clr.AddReferenceToFileAndPath(r"..\lib\umbraco.dll")
import umbraco
umbraco
IronPython现在可以访问该模块
注意:Visual Studio插件“ Python工具”允许您添加对Python项目的引用,但是使用引用仍然需要上述步骤。
Visual Studio项目支持添加对项目和扩展的引用。通常,它们指示项目之间的依赖关系,并用于在设计时提供IntelliSense或在编译时提供链接。用于Visual Studio的Python工具还以类似的方式使用引用,但是由于Python的动态特性,它们在设计时主要用于提供改进的IntelliSense。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句