2010-01-11 11 views
15

estoy trabajando con el paquete PyFacebook en Python, y he visto a la gente menciona en numerosas ocasiones que se puede escribir una declaración de importación de la siguiente manera:Python "de importación xxx xxx.yyy" error

from facebook.djangofb import facebook 

Sin embargo, no funciona. Establece que existe facebook.method_name en el módulo facebook, en lugar del módulo djangofb. Supongo que estoy importando el facebook.method_name como facebook, no es que lo esté recibiendo del paquete facebook.

Estoy usando Python 2.6.

¿Cómo puedo alias facebook.djangofb como facebook?

+7

@qarma: su mensaje de recompensa no tiene sentido; ciertamente no parece tener ninguna relación con la pregunta que se hace aquí. –

Respuesta

30

Ésta es la forma correcta de un alias a un módulo a través de la importación:

import facebook.djangofb as facebook 
6

Desde el python 3 documentation (que funciona de la misma manera en python 2.6, pero me pareció que la documentación de Python 3 explica más claro):

Si al nombre del módulo le sigue as, el nombre que sigue a as está vinculado directamente al módulo importado.

Así que su estado de cuenta debe ser similar:

import facebook.djangofb as facebook 

facebook.method_name y luego va a funcionar.

Véase también Can you define aliases for imported modules in Python? para opciones adicionales aliasing

2
from facebook import djangofb as facebook 

Si usted está buscando para importar djangofb como facebook, eso es lo que necesita para hacerlo.

De esta manera, puede acceder facebook.djangofb.method_name como facebook.method_name.

Dicho esto, es más común darle un nombre no conflictivo, aquí sería fb o face. Algo que no anula la importación raíz facebook.

Cuestiones relacionadas