Python 名称错误:全局名称';myLogFile';没有定义

Python 名称错误:全局名称';myLogFile';没有定义,python,global-variables,Python,Global Variables,我有两个函数,我将其中一个函数放在一个单独的.py中,这样我就可以导入它,但是当我尝试运行脚本时,我遇到了一个错误 我放在单独的.py中的函数是: def output_messaging(message): global myEmailText myLogFile.write(message) myEmailText = myEmailText + message print message 我运行的脚本具有以下代码: def finish_process(e

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

我放在单独的.py中的函数是:

def output_messaging(message):
    global myEmailText
    myLogFile.write(message)
    myEmailText = myEmailText + message
    print message
我运行的脚本具有以下代码:

def finish_process(errors):
    global myLogFile
    myLogFile.close()
    if errors == 0:
        myEmailHeader = "Subject: **"
    elif errors == 1:
        myEmailHeader = "Subject: **"
    else:
        myEmailDestination.append("**") 
        #myEmailHeader = "Subject: **"
    server = smtplib.SMTP(myServer) #email data log to nominated individuals
    server.sendmail(myEmailSender, myEmailDestination, myEmailHeader + "\n" + myEmailText)
    server.quit()
当我运行脚本时,我得到以下错误

NameError: global name 'myLogFile' is not defined
myLogFile在代码中声明得更低(这是日志文件的位置),但我有点困惑


谢谢

错误很明显<代码>myLogFile未在
输出消息
功能中的任何位置定义。您需要在该函数中定义它,或将其作为参数传入


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

输出消息中,您没有
全局myLogFile
来指示
myLogFile
是在文件中的其他地方定义的。当Python运行该函数时,它现在无法识别该变量


请注意,通常不鼓励使用全局变量,但这是一个不同的讨论。

如果您向我们展示了一个完整、简短的示例来演示问题,我们将能够告诉您问题的确切原因…文件“d:\temp\UFRM\messaging.py”,第4行,在输出\消息myLogFile.write(消息)中NameError:全局名称“myLogFile”未定义我已在输出消息功能中添加了全局myLogFile,但它仍会给我相同的错误。