我可能会丢失一些显而易见的东西,但是无论如何:
当您像os
在python中那样导入软件包时,您可以直接使用任何子模块/子软件包。例如,这有效:
>>> import os
>>> os.path.abspath(...)
但是我有自己的软件包,其结构如下:
FooPackage/
__init__.py
foo.py
并且这里相同的逻辑不起作用:
>>> import FooPackage
>>> FooPackage.foo
AttributeError: 'module' object has no attribute 'foo'
我究竟做错了什么?
您需要导入子模块:
import FooPackage.foo
您正在寻找的foo
是FooPackage/__init__.py
。您可以通过将import FooPackage.foo as foo
(或from . import foo
)放入来解决它FooPackage/__init__.py
,然后Python就能在其中找到foo
。但我建议使用我的第一个建议。
问题内容: 我正在导入许多不同的脚本,因此在文件的顶部,它会被导入语句弄得乱七八糟,即: 有没有办法将所有这些都移动到其他地方,然后我要做的就是导入该文件,所以它只是一个干净的导入? 问题答案: 当然有;只需在主文件所在的目录中创建一个名为的文件,然后将导入文件放置在该目录中即可。然后,您可以简单地在主脚本中使用。
问题内容: 我在构建会话bean 时遇到了麻烦。 找不到以下内容: 一些解决方案暗示将库和.jar 添加到Java构建路径。 我正在使用并且在给定位置($ JAVA_HOME \ lib)找不到这些库中的任何一个。我在机器上使用eclipse(kepler) 问题答案: javaee.jar既不提供eclipse也不提供java(jdk)。该文件必须手动下载并添加到项目构建路径。可以在此处找到ja
问题内容: 伙计们,在上面的程序中,在执行过程中我发现了这些错误。怎么解决?我已经在文件夹位置下载了Jsoup.jar文件。我该怎么办? 问题答案: 当然是Jsoup的。 另请参阅Jsoup API文档。 也就是说,还有一个问题只有在运行时才会显现:您以ajava.lang.String而不是a的形式传递。AString将被视为纯HTML,而不是资源。也修复它: 更新:您只需要确保在编译时和运行时
问题内容: 我已经习惯了,但是对于当前的问题,我没有用。我希望能够创建特定于项目的软件包: 我尝试了多种方法,但是如何在或等等上工作? 例如; 我希望能够然后能够运行,并且一切正常,而不会抛出无法在或找到包的错误。我需要这种功能的原因是针对大型项目。我不想引用多个其他软件包或将它们保存在一个大文件中。 问题答案: 转到依赖项管理摘要: 如果您使用的版本是: 或者您的go版本是: 如果您使用的版本是
问题内容: 从http://cs-fundamentals.com/tech-interview/java/which-java-package-is- imported-by-default.php 在每个Java程序中,可以有一个未命名的程序包,它只是一个没有名称的程序包。如果在编写类定义时省略了package语句,则将类名放入默认包中,该包没有名称。Java编译器会自动导入此软件包。 真的吗
问题内容: 我正在通过Anaconda 2.1.0发行版使用scipy和numpy。我使用Spyder作为我的Python IDE。 当我运行时 ,我无法通过以下方式访问子包,例如optimize,linalg,cluster等。 但是,运行时,我可以通过访问所有子包,例如linalg,random,matrixlib,多项式,测试等。 两种进口的工作方式不同,是否有原因?为什么不将所有scipy