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

2024-06-16 10:11:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过创建一个简单的模块来理解如何编写您自己的模块,但是我似乎不理解如何使用初始化文件,整个导入工作都是这样的。你知道吗

现在我有一个名为“helloWorld”的包,结构如下:

helloWorld
    __init__.py
    helloWorldFile.py
    helloBonjourFile.py

以下是每个文件的内容:

\uuuu初始\uuuuuuuy.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!'

所以我的想法是,我想从“helloWorldFile”运行“helloBonjourFile”中的任何内容,所以我尝试在Python shell中运行它:

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

它很好地打印出了“你好,美丽的世界”部分,但之后我不断地得到一个错误:

AttributeError: 'module' object has no attribute 'run'

我很确定我做得不对,如何正确运行“helloWorld”和“helloBonjour”的内容?我想把运行这些东西的文件降到最低。。。你知道吗

如果可能的话,我还想找出一种方法,将参数传递到“helloBonjour”中。。。你知道吗


Tags: 模块文件runpyimportself内容init
1条回答
网友
1楼 · 发布于 2024-06-16 10:11:02

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

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

这就可以了。。。。如果它不尝试几次,它刷新(至少这对我有效)。。。你知道吗

相关问题 更多 >