- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我创建的工作 python 目录中:
packagename/__init__.py
packagename/modulename.py
test.py
在 modulename.py 中我创建了一些空类:
class Someclass(object):
pass
在测试.py中:
import packagename
packagename.modulename.Someclass()
为什么我无法在 test.py 中调用 packagename.modulename.someclass() ?
AttributeError: 'module' object has no attribute 'modulename'
我理解正确的方法是:
import packagename.modulename
或
from packagename import modulename
但我不明白为什么在我的案例中会出现此错误。
更新:
换句话说,有什么方法可以导入包的内容以及不同命名空间中的所有模块吗?我需要正确的 pythonic 表达式:
from packagename import * as mynamespace
最佳答案
Python 不会自动递归和导入子包。当你说:
import packagename
这就是它导入的全部内容。如果你说:
import packagename.modulename
然后它首先导入packagename
,然后导入packagename.modulename
并为其分配引用作为packagename<的属性
。因此,当您在代码中说:
packagename.modulename.Someclass()
Python 只是使用100% 正常属性查找。首先在当前命名空间中查找packagename
变量。然后查找 packagename
对象的 modulename
属性。然后查找 modulename
对象的 Someclass
属性。
如果您忽略导入packagename.modulename
,那么packagename
上显然没有属性,称为modulename
,此后为 AttributeError
。
我建议您进入命令行并导入一些内容,然后使用 dir() 来检查它。然后导入一个子包,并再次使用dir()
。您很快就会看到差异。
最后,语法:
from packagename.modulename import SomePackage
本质上与此相同:
import packagename.modulename
SomePackage = packagename.modulename.SomePackage
(当然,它的实现方式不同,但结果或多或少相同)。
这有帮助吗?
关于python - 为什么我无法调用packagename.modulename.foo()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1966783/
我正在尝试使用 jsonfile在我的项目中打包,但出现以下错误: Refusing to install package with name under a package also called
我只是按照以下步骤运行 1. git克隆https://mycaccount@bitbucket.org/somename/appname.git 2.git结账开发者 3.git拉原点 4.get
我收到“无法实例化类 packageName.pageName”,将尝试在 selenium 中执行测试用例。我尝试了很多,但没有找到我犯错误的地方。 下面是我的登录页面 package detail
我想在运行时使用一些脚本或其他方式更改我的应用程序包名称。但是我不知道它在android中是否可行。 谁能帮我实现同样的目标? 提前致谢。 最佳答案 您不能动态更改应用程序的包名称。您的包名称基本上是
我正在尝试获取数据库导向应用程序的 Package Name 并缩进应用程序的包图标并将其设置在 ImageView 中 到目前为止,我能够构建的是: try { Cliente movieD
我有这段代码来获取系统上所有应用程序的列表: PackageManager pm = getPackageManager(); Intent mainIntent = new Inte
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5年前关闭。 Improve t
我今天打开了项目,遇到了这个问题:gradle (Module: app)文件运行正常,但与项目关联的其他gradle file困惑且损坏。gradle File(Project: PackageNa
用例:我想将文件完全存储到特定于应用程序的存储中,以便没有人可以直接访问文件。 我已经将文件存储到内部存储中[存储/仿真/ xxx / xxx]和特定于应用程序的存储中[data / data / c
我有一个为类型提供全局唯一标识符的类: class Named a where nameOf :: a -> (String,String,String) -- (Package, Module,
[附加项目文件:http://forums.xamarin.com/discussion/45900/application-packagename-property-override-problem
以下代码来自Create Free/Paid versions of Application from same code 但我得到错误 Error:(18, 0) No such property:
我需要安装我的项目的 2 个版本(生产和开发)。我需要 2 个应用程序。我试图通过使用口味来实现它,但是当我签署 apk 时,它总是生成相同的应用程序,具有相同的 packageName (com.c
大家好(这是我的第一个问题,请不要无礼)。我是编码初学者,我在 Android Studio 中遇到过这个错误:“Gradle project sync failed”,错误是“Error:Canno
编辑:解决方法 我可以使用 ./gradlew :app:assembleRelease 构建我的应用程序,但这实际上并没有解决问题,它只是一种解决方法。之后,我在 /app/build/output
我知道这个问题是重复的,并且被问了很多,我阅读了所有问题的所有答案,但没有一个有效。我正在尝试构建一个用于发布的 react native 应用程序,但出现此错误 ➜ android git:(ma
到目前为止,我已经能够很好地构建我的 gradle 文件。但是当我尝试将我的 apk 上传到 Play 商店时,它说当我在 list 中定义 packageName 时找不到它。 AndroidMan
我想在 Android 应用程序中添加给我们评分按钮。所以我添加了下面的代码。但是“getPackageName”显示为红色。我删除了“this”。然后就可以了。为什么会这样?这对我的代码有影响吗..
这个问题已经有答案了: Java, Classpath, Classloading => Multiple Versions of the same jar/project (5 个回答) 已关闭 9
我在我的 Android 项目中使用了一个 c++ native 库,但是当启用 Proguard 时,应用程序崩溃了。我在 C++ 中的代码依赖于包名,所以我需要防止包名被 Proguard 重命名
我是一名优秀的程序员,十分优秀!