Tag: 模块

不能在Python中导入我自己的模块

我很难理解Python中的模块导入是如何工作的(在任何其他语言之前,我从来没有用过它)。 假设我有: myapp/__init__.py myapp/myapp/myapp.py myapp/myapp/SomeObject.py myapp/tests/TestCase.py 现在我试图得到这样的东西: myapp.py =================== from myapp import SomeObject # stuff … TestCase.py =================== from myapp import SomeObject # some tests on SomeObject 但是,我肯定是做错了,因为Python无法看到myapp是一个模块: ImportError: No module named myapp

有没有一种标准的方式来列出包中的Python模块名称?

有没有一种直接的方式来列出包中的所有模块的名称,而不使用__all__ ? 例如,给定这个包: /testpkg /testpkg/__init__.py /testpkg/modulea.py /testpkg/moduleb.py 我想知道是否有标准或内置的方式来做这样的事情: >>> package_contents("testpkg") ['modulea', 'moduleb'] 手动方法是遍历模块searchpath,以查找包的目录。 然后可以列出该目录中的所有文件,过滤出唯一命名的py / pyc / pyo文件,剥离扩展名并返回该列表。 但是对于模块导入机制已经在内部进行的工作来说,这似乎是相当多的工作。 这个function暴露在哪里?

我可以使用__init__.py来定义全局variables吗?

我想定义一个常量,它应该在包的所有子模块中可用。 我以为最好的地方是在根包的__init__.py文件中。 但我不知道该怎么做。 假设我有几个子包,每个包都有几个模块。 我怎样才能从这些模块访问该variables? 当然,如果这是完全错误的,还有更好的select,我想知道。

除了模块中定义的所有内容外,Haskell再导出模块

是否有可能在Haskell中编写一个模块,除了导出所有可见的内容之外,它还重新导出了一个模块? 让我们考虑下面的模块: module Test where import A fx = x 这个模块导出在里面定义的所有东西,所以它导出f但不会重新导出从A导入的任何东西。 另一方面,如果我想重新导出模块A : module Test ( module A, f ) where import A fx = x 有没有办法重新导出A并导出在Test定义的所有东西 ,而不需要显式地写出Test定义的每个函数?

我如何在Ruby中初始化模块的实例variables?

我有一些模块,我想在其中使用实例variables。我目前正在初始化他们像这样: module MyModule def self.method_a(param) @var ||= 0 # other logic goes here end end 我也可以调用init方法来初始化它们: def init @var = 0 end 但是这意味着我必须记得总是叫它。 有没有更好的方法来做到这一点?

ES6 + JavaScript模块导出选项

我已经看到公共出口的ES6模块在以下两个方面完成: // method 1 export var getAnswer = function () { return 'forty two'; }; // method 2 export default function () { return 'forty two'; }; 这两个都有效吗? 如果是这样,为什么他们都存在? 有使用ES6语法的模块导出其他有效的选项? 我很惊讶,我一直无法find我的googlefu答案。 我只关心ES6模块, 而不是 CommonJS,RequireJS,AMD,Node等。

Rails / lib模块和

我正在写一个open_flash_chart插件的自定义包装。 它放在/lib ,并作为ApplicationController一个模块加载。 但是,我有一些类层次结构或问题。 从任何控制器我可以访问OpenFlashChart , Line等open_flash_chartfunction 但是,在一个/lib模块的类中,它不起作用! 有任何想法吗?

你可以在Python中为导入的模块定义别名吗?

在Python中,是否可以为导入的模块定义一个别名? 例如: import a_ridiculously_long_module_name …所以有一个“short_name”的别名。

Python(Windows) – ImportError:没有模块命名的网站

我正在尝试第一次安装Python。 我从Python网站下载了以下安装程序: Python 2.7.1 Windows Installer(Windows二进制文件 – 不包含源代码) 。 然后我运行安装程序,select“所有用户”,一切都很好。 我将Python安装到默认位置: C:\Python27 接下来,为了testingPython是否正确安装,我导航到我的Python目录,并在Windows cmd提示符下运行“python”命令。 它返回我以下错误: ImportError:没有名为site的模块 当我做'python-v'我得到以下内容: #installing zipimport hook import zipimport # builtin #installing zipimport hook import zipimport # builtin安装zipimport挂钩 #ImportError: No module named site #clear builtin的 #ImportError: No module named site ._ #clear sys.path #clear sys.argv #clear sys.ps1 #clear sys.ps2 #clear sys.exitfunc #clear […]

在Node.js中声明多个module.exports

我想要实现的是创build一个包含多个函数的模块。 module.js: module.exports = function(firstParam) { console.log("You did it"); }, module.exports = function(secondParam) { console.log("Yes you did it"); }, // This may contain more functions main.js: var foo = require('module.js')(firstParam); var bar = require('module.js')(secondParam); 我遇到的问题是firstParam是一个对象types, secondParam是一个URLstring,但是当我这样做的时候总是抱怨这个types是错误的。 如何在这种情况下声明多个module.exports?