我用文件名mymodule.py创建了自己的模块。该文件包含:

def testmod():
       print "test module success"

我已将此文件放在/Library/Python/2.7/site-packages/mymodule/mymodule.py

我还添加了一个__init__.py文件,这些文件已编译生成
__init__.pycmymodule.pyc
然后在python控制台中将其导入
import mymodule
哪个很好

当我尝试使用mymodule.testmod()时,出现以下错误:
AttributeError: 'module' object has no attribute 'testmod'
是的,它似乎没有任何功能?

最佳答案

您有一个mymodule包,其中包含一个模块mymodule。该功能是模块的一部分,而不是包装的一部分。

导入模块:

import mymodule.mymodule

并引用该函数:
mymodule.mymodule.testmod()

您可以使用from ... importimport ... as影响确切导入的内容:
from mymodule import mymodule

mymodule.testmod()

或者
from mymodule import mymodule as nestedmodule

nestedmodule.testmod

或者
from mymodule.mymodule import testmod

testmod()

等等。

关于Python : Cannot find any functions within my own module?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23321865/

10-12 07:31