模块已导入但其功能无法调用

时间:2018-03-11 17:34:07

标签: python-3.x module

我有一个模块,我按照几个来源的建议存储在site-packages目录中。我可以从该目录导入通过pip安装的其他软件包。这是Python 3.6.3的最小测试用例。

MODULE MyStuff:

def Dummy()
    return(0)

测试计划:

try:
   import MyStuff
except:
   print('Import Failed')    

print(MyStuff)
print(dir(MyStuff))

result = Dummy()
print(result)

我以管理员身份使用Windows 10命令提示符运行TEST PROGRAM,并显示此结果。(添加空行以提高可读性。)

  

C:> python K:\ PythonProjects \ TestDummy.py

     

\的Python \ Python36-32 \ lib中\站点包\ MyStuff.py'>

     

[' Dummy',' builtins ',' 缓存',&#39 ; doc ',' 文件',' 加载程序',> ' 名称',' ',' 规范' ]

     

追踪(最近一次通话):    文件" K:\ PythonProjects \ TestDummy.py",第9行,在模块中

     

result = Dummy()

     

NameError:name' Dummy'未定义

2 个答案:

答案 0 :(得分:1)

是的,Dummy未定义。但是,MyStuff.Dummy是。

这是dir(MyStuff)告诉您的内容:名称DummyMyStuff模块中定义。如果您希望此名称在全局范围内可见,请使用from MyStuff import *

答案 1 :(得分:0)

你不应该使用Module.function()?