我试图通过尝试创建一个简单的模块来了解如何编写自己的模块,但我似乎并不了解如何使用__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"如果可能的话......
答案 0 :(得分:0)
我想到了这一点,对于其他可能遇到类似问题的人来说,这是由编辑一个文件并尝试在同一环境中从自定义模块运行引起的,并且通过为每个人运行reload()命令解决了这个问题。文件。但你必须按照导入文件的顺序进行,在我的情况下我必须按以下顺序重新加载:
reload(helloBounjourFile)
reload(helloWorldFile)
reload(helloWorld)
这应该可以解决问题....如果它没有尝试多次刷新它(至少那对我有用)......