2012-08-08 99 views
6

我创建两个文件:test.pytest1234.py创建一个Python模块

test.py包含:

import test1234 
t = test1234.test() 

test1234.py包含:

class test(): 
    def __init__(self): 

当放在同一个可怕的ctory,python test.py无误地运行。

但是,如果我创建一个目录test1234并把test1234.py此目录中的空白初始化的.pypython test.py给出了错误:

AttributeError: 'module' object has no attribute 'test'

做什么,我需要做test.py能够看到testtest1234.py

+4

Downvoters小心称重?我的问题不够清楚吗?我不明白python导入是如何工作的,这是不可接受的吗? :) – Olhovsky 2012-08-14 11:45:49

回答

2

您必须将其通过包装导入,或将其放入__init__.py

import test1234.test1234 
t = test1234.test1234.test() 
+0

把什么,具体来说,在'__init __。py'中?我希望在test.py中只有'import test1234'。 – Olhovsky 2012-08-08 02:46:26

+0

没关系,我发现你可以在'__init __。py'中'test1234 import test'。 – Olhovsky 2012-08-08 02:55:35

+0

尽管如此,最后一点要小心。考虑重命名包或子模块。 – 2012-08-08 02:56:44