如何在您自己的模块中的文件之间导入/调用?

时间:2017-10-25 03:38:47

标签: python python-2.7 python-2.6

我试图通过尝试创建一个简单的模块来了解如何编写自己的模块,但我似乎并不了解如何使用__init__文件,这整个导入的东西都有用。

所以现在我有一个名为" helloWorld"的包,结构如下:

helloWorld
    __init__.py
    helloWorldFile.py
    helloBonjourFile.py

这些是每个文件的内容:

__ INIT __ PY:

from helloWorldFile import helloWorldClass

helloWorldFile.py:

import helloBonjourFile

class helloWorldClass():
    def __init__(self):
        self.keyword = 'Hello Beautiful World'

    def hello(self):
        print self.keyword
        helloBonjourFile.run()

helloBounjourFile.py:

def run():
    print 'Bonjour Mon Ami!'

所以我的想法是,我想运行" helloBonjourFile"中的任何内容。来自" helloWorldFile",所以我尝试在Python shell中运行它:

import helloWorld
reload(helloWorld)
helloWorld.helloWorldClass().hello()

它打印出了#Hello; Hello Beautiful World"部分罚款,但在那之后我不断收到错误:

  

AttributeError:' module'对象没有属性'运行'

我很确定我会错误地解决这个问题,我如何正确地运行" helloWorld"的内容?和" helloBonjour"?我希望将实际运行这些内容的文件保持在最低限度......

我也想找出一种方法将参数传递给" helloBonjour"如果可能的话......

1 个答案:

答案 0 :(得分:0)

我想到了这一点,对于其他可能遇到类似问题的人来说,这是由编辑一个文件并尝试在同一环境中从自定义模块运行引起的,并且通过为每个人运行reload()命令解决了这个问题。文件。但你必须按照导入文件的顺序进行,在我的情况下我必须按以下顺序重新加载:

reload(helloBounjourFile)
reload(helloWorldFile)
reload(helloWorld)

这应该可以解决问题....如果它没有尝试多次刷新它(至少那对我有用)......