2011-03-21 97 views
0

奇怪的问题:蟒蛇通配符导入模块时将其导入

文件结构:

pages/ 
     test.py 
spawn.py 

从spawn.py,如果我做

from pages import test 

一切正常。

如果我做

from pages import * 

我得到

NameError: name 'test' is not defined 

我不明白导入错误。我已经注释掉了所有内容,但只有两行代码。我在'pages'目录中有init .py,这不应该很重要,因为我能够导入不使用。我曾尝试更改文件名。尽管在不同的机器上都尝试过,但都是Debian 6.0。 Python版本2.6.6

任何想法?

回答

0

这很重要,因为在pages/__init__.py包含from pages import *将导入

+0

我看到的符号。所以通配符并不值得使用,因为您必须定义要导入的内容?猜猜我会完全跳过它。 – breez 2011-03-21 21:50:59

1

您必须将import test放入pages/__init__.py

只是因为pages是一个模块并不意味着它神奇地导入同一文件夹中的所有文件。您仍然必须命名要导入的模块(或编写自动导入它们的代码)。