使用write()函数后,module没有属性错误

时间:2015-03-24 09:03:47

标签: python

我试图编写一个脚本来编写另一个脚本,然后从中调用一个函数。使用下面的代码,我不断将module has no attribute 'helloWorld'作为错误。该文件存在,并且其中包含以下功能,因此我不知道它为什么会抛出此错误。间距有问题吗?我怎样才能重写它以使它做我想做的事情?

import test
with open("test.py", "a") as f:
    f.write("def helloWorld(): print 'hello world'")

test.helloWorld()

1 个答案:

答案 0 :(得分:1)

请注意,writeimport新功能 with open("test.py", "a") as f: f.write("def helloWorld(): print 'hello world'") import test test.helloWorld() 。 Python从中导入文件时会读取文件,并将必要的信息存储在内存中;每当你从中调用一个函数时,它都不会返回并查看文件(如果你考虑它,这是一件好事,否则会发生各种灾难性的事情)在运行时)。

Python具有广泛的内省功能并且具有高度动态性,因此您可以执行诸如在运行时将函数修补到模块而不会弄乱文件的情况。或者,重新安排一下:

{{1}}