在IronPython中加载模块

亚历克斯·福克斯·吉尔

我对在IronPython中导入模块的两种方法感到困惑。

一方面,IronPython 2.7.4随附的教程文档指出您可以使用常规import语法进行操作:

import System
from System import Xml

正如我所期望的那样。

另一方面,互联网上的许多资源都指出,导入模块的方式是通过使用clr模块来实现的,如下所示:

import clr
clr.AddReference("System.Xml")

两种方法有什么区别?

亚历克斯·福克斯·吉尔

当我研究这个问题时,我偶然发现了我认为是答案的东西(这仅仅是试错法,所以如果我错了,我很乐意得到纠正!)

importPython中语句更类似于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

umbracoIronPython现在可以访问模块

注意:Visual Studio插件“ Python工具”允许您添加对Python项目的引用,但是使用引用仍然需要上述步骤。

Visual Studio项目支持添加对项目和扩展的引用。通常,它们指示项目之间的依赖关系,并用于在设计时提供IntelliSense或在编译时提供链接。用于Visual Studio的Python工具还以类似的方式使用引用,但是由于Python的动态特性,它们在设计时主要用于提供改进的IntelliSense。

关联

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Angular中加载模块

来自分类Dev

在Angular中加载模块

来自分类Dev

在Redux Connect中加载模块

来自分类Dev

在Julia中加载本地模块

来自分类Dev

在Julia中加载本地模块

来自分类Dev

无法在 Angularjs 中加载模块?

来自分类Dev

在JBoss 7.x中加载模块

来自分类Dev

仅在CLI中加载PHP模块

来自分类Dev

在FSI中加载F#模块

来自分类Dev

SCSS模块未在NextJS中加载

来自分类Dev

无法在coffeescript中加载angularjs模块

来自分类Dev

如何从相邻包中加载python模块?

来自分类Dev

如何在initrd中加载模块?

来自分类Dev

无法在WLS中加载内核模块

来自分类Dev

根据用户凭证在ios中加载模块?

来自分类Dev

如何在Linux中加载tun模块?

来自分类Dev

无法在Angular JS中加载模块

来自分类Dev

无法在Unix上的Powershell中加载模块

来自分类Dev

在 Angular 中加载咖啡脚本模块

来自分类Dev

Webix 4.3 模块未在 Angularjs 中加载

来自分类Dev

在 Angular Js 中加载模块时出错

来自分类Dev

无法在 qbs 中加载模块 cpp

来自分类Dev

无法在 cygwin 中加载 python 模块

来自分类Dev

在Android Studio中加载项目时出错:无法加载模块

来自分类Dev

使用System.js在TypeScript中加载模块

来自分类Dev

确保仅在Guice中加载一次模块

来自分类常见问题

PHP警告:模块已在第0行的Unknown中加载

来自分类Dev

如何在C / C ++程序中加载内核模块

来自分类Dev

在Jasmine中加载具有依赖项的模块