Tag: 模块

在C中创build一个模块系统(dynamic加载)

如何在运行时加载编译的C代码,然后调用其中的函数? 不像简单地调用exec()。 编辑:加载模块的程序是在C.

Powershell导入模块找不到模块

我正在学习PowerShell,并试图build立自己的模块库。 我写了一个简单的模块XMLHelpers.psm1 ,放在我的文件夹$home/WindowsPowerShell/Modules 。 当我做: import-module full_path_to_XMLHelpers.psm1 有用。 但是当我这样做: import-module XMLHelpers 它不起作用,我得到的错误: 导入模块:指定模块“xmlhelpers”未加载,因为在任何模块目录中找不到有效的模块文件。 我已经检查过,环境variablesPSModulePath包含这个文件夹。 因为这是一个networking文件夹,我也试图将其移动到本地文件夹,并修改PSModulePath但没有成功 $env:PSModulePath=$env:PSModulePath+";"+'C:\local' 任何想法可能会导致这个问题?

Python:从项目层次结构中同一级别的另一个目录导入模块

我已经看到了各种各样的例子和其他类似的问题,但我似乎无法find一个完全符合我的情况的例子。 我觉得自己好像总是问这个问题,因为有这么多类似的问题,但我似乎无法“正确地”做到这一点。 这是我的项目: user_management (package) | |——- __init__.py | |——- Modules/ | | | |—– __init__.py | |—– LDAPManager.py | |—– PasswordManager.py | |——- Scripts/ | | | |—– __init__.py | |—– CreateUser.py | |—– FindUser.py 如果我将“CreateUser.py”移动到主user_management目录,我可以很容易地使用: "import Modules.LDAPManager"来导入LDAPManager.py —这是可行的。 我不能做的(我想做的)是在Scripts子文件夹中保存CreateUser.py,然后导入LDAPManager.py。 我希望通过使用"import user_management.Modules.LDAPManager.py"来实现这一点。 这不起作用。 简而言之,我可以通过Python文件轻松地查看层次结构中的更深层次的内容,但是我无法获得Python脚本来引用一个目录并将其导入另一个目录。 请注意,我能够解决我的问题使用: sys.path.append(os.path.join(os.path.dirname(__file__), '..')) import Modules.LDAPManager as LDAPManager 我听说这是不好的做法,气馁。 脚本中的文件是直接执行的(脚本中的init .py甚至是必要的?)。 […]

如何从另一个模块更改模块variables?

假设我有一个名为bar的包,它包含bar.py : a = None def foobar(): print a 和__init__.py : from bar import a, foobar 然后我执行这个脚本: import bar print bar.a bar.a = 1 print bar.a bar.foobar() 这是我所期望的: None 1 1 这是我得到的: None 1 None 任何人都可以解释我的误解?

我怎样才能卸载通过`cpan`安装的Perl模块?

我正在使用在用户空间运行的Perl(不是通过root安装),并通过命令行cpan安装模块。 我想知道是否有一个简单的方法来删除一个模块,而不必做大量的工作删除单个文件。 我在互联网上search这个问题,并find了一些答案,但我发现的答案似乎要么讨论使用Perl包pipe理器(特定于Microsoft Windows),否则操作系统特定(BSDpan),build议使用cpanplus我有几个不好的经验),或者通过指向死链接结束,如下所示: http://www.cpan.org/misc/cpan-faq.html#How_delete_Perl_modules : http://www.cpan.org/misc/cpan-faq.html#How_delete_Perl_modules 。 我的问题是具体是否有一个干净的方式来删除通过cpan安装的模块。

我可以知道,在node.js,如果我的脚本是直接运行或由另一个脚本加载?

我刚刚开始使用node.js,我有一些Python的经验。 在Python中,我可以检查__name__variables是否设置为"__main__" ,如果是,我会知道我的脚本正在直接运行。 在这种情况下,我可以运行testing代码或直接以其他方式使用模块。 在node.js中有类似的东西吗?

我如何find已安装的Perl模块的版本?

你如何find已安装的Perl模块的版本? 这是在底部的答案,但我认为足够重要的是活在这里。 有了这些build议,我在我的.bashrc创build了一个函数 function perlmodver { perl -M$1 -e 'print "Version " . $ARGV[0]->VERSION . " of " . $ARGV[0] . \ " is installed.\n"' $1 }

dynamic要求在RequireJS,得到“模块名称尚未加载上下文”错误?

有没有一种方法来定义一个“dynamic”加载RequireJS中的其他模块? 如果是的话,优化器(r.js)如何理解如何/何时需要包含模块? 例如,让dynModules定义名称/path对的模块: define([], function () { return ['moduleA', 'moduleB']; // Array of module names }); 另一个模块将根据数组dynamic地加载模块。 这不会起作用 : define(['dyn_modules'], function (dynModules) { for(name in dynModules) { var module = require(path); // Call RequireJS require } // … }); … 给我: 未捕获错误:模块名称“moduleA”尚未加载上下文:_。 使用require([]) http://requirejs.org/docs/errors.html#notloaded 我可以解决这个错误 ,但它不再是“dynamic的”: define(['dyn_modules', 'moduleA', 'moduleB'], function (dynModules) { for(name in dynModules) […]

什么时候在Ruby中使用`require`,`load`或`autoload`?

我理解Ruby中require , load和autoload之间的细微区别,但是我的问题是,你怎么知道使用哪一个? 除了能够在匿名模块中“包装” load , require似乎是优选的。 但是,然后autoload允许你懒加载文件 – 这听起来很棒,但我不确定实际上你所获得的require 一种方法比另一种更受欢迎吗? 有一种方法脱颖而出吗?

NodeJS / Express中的“module.exports”和“exports.methods”是什么意思?

查看NodeJS的express框架的随机源文件 ,有两行代码我不明白(这些代码行几乎是所有NodeJS文件的典型代码)。 /** * Expose `Router` constructor. */ exports = module.exports = Router; 和 /** * Expose HTTP methods. */ var methods = exports.methods = require('./methods'); 我明白, 第一块代码 允许文件中的其余function暴露给NodeJS应用程序 ,但我不明白它是如何工作的 ,或者线上的代码是什么意思。 exports和module.exports究竟意味着什么? 我相信第二段代码允许文件中的函数访问methods ,但是它又是如何做到这一点的。 基本上,这些魔术词是什么: module和exports ?