在python中使用import命令时出错

时间:2013-05-03 17:07:34

标签: python python-3.x

我是python的新手,现在正在学习如何导入模块或函数,但是我发现了这些错误。 python代码以名称hello_module.py

保存

python代码:

def hello_func():
    print ("Hello, World!")
hello_func()
import hello_module
hello_module.hello_func()

错误消息:

Traceback (most recent call last):
  File "C:/Python33/hello_module.py", line 9, in <module>
    import hello_module
  File "C:/Python33\hello_module.py", line 10, in <module>
    hello_module.hello_func()
AttributeError: 'module' object has no attribute 'hello_func'

1 个答案:

答案 0 :(得分:4)

您不能也不应该导入自己的模块。您在当前命名空间中定义了hello_func,只需直接使用它。

您可以将该功能放在单独的文件中,然后导入:

  • 档案foo.py

    def def hello_func():
        print ("Hello, World!")
    
  • 档案bar.py

    import foo
    
    foo.hello_func()
    

并以脚本运行bar.py

如果您尝试导入自己的模块,它将再次导入本身,当您这样做时,导入不完整的模块。它还没有设置它的属性,所以hello_module.hello_func尚不存在,并且会中断。