名称错误:未定义全局名称“myLogFile”

2024-06-16 12:45:23 发布

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

我有两个函数,我把其中一个函数放到了一个单独的.py中,这样我就可以导入它了,但是我在运行脚本时遇到了一个错误。在

我放在separate.py中的函数是:

def output_messaging(message):
    global myEmailText
    myLogFile.write(message)
    myEmailText = myEmailText + message
    print message

我运行的脚本包含以下代码:

^{pr2}$

运行脚本时,出现以下错误。在

NameError: global name 'myLogFile' is not defined

myLogFile在代码的下面声明(这是日志文件的位置),但我有点困惑。在

谢谢


Tags: 函数代码py脚本messageoutputdef错误
2条回答

错误很明显。myLogFile未在{}函数中的任何位置定义。您需要在该函数中定义它,或者将其作为参数传入。在

无论如何,你不应该使用全局变量,它们几乎总是一个坏主意。显式传递参数。在

output_messaging中,您不需要global myLogFile来表示{}是在文件的其他地方定义的。当Python运行该函数时,它现在无法识别该变量。在

请注意,全局变量通常是不鼓励的,但这是另一种讨论。在

相关问题 更多 >