python如何调用从未在代码中定义的类?

Dan*_*low 0 python python-import

我不知道在这里粘贴所有代码是否可行,但我正在查看这个git repo中的代码.

如果你看一下他们做的例子:

ec2 = EC2('access key id', 'secret key')
Run Code Online (Sandbox Code Playgroud)

......但是没有EC2课.但是,看起来libcloud\providers.py有一个dict映射EC2EC2NodeDriver找到的libcloud\drivers\ec2.py.正确的映射是通过计算的get_driver(provider),但该方法似乎不会在任何地方调用.

显然,我是python的新手,但不是编程.我甚至不确定我应该在文档中查找什么来解决这个问题.

mip*_*adi 5

example.py包括一条import声明如下:

from libcloud.drivers import EC2, Slicehost, Rackspace
Run Code Online (Sandbox Code Playgroud)

这意味着EC2该类是从libcloud.drivers模块导入的.但是,在这种情况下,libcloud.drivers实际上是一个(一个Python 包含模块),这意味着EC2应该在一个文件__init__.py中定义libcloud/drivers/,但事实并非如此.这意味着在这种特定情况下,他们的示例代码实际上是错误的.(我下载了代码并在运行时遇到导入错误example.py,正如您所看到的,该文件libcloud/drivers/__init__.py根本不包含任何定义,最不重要的是EC2定义.)