名称 "simStatus" 未定义
name "simStatus" is not defined
def newFunction():
global simStatus
makeResultWrite = open ("file.txt", "w")
readLogFile = open("xyz.log", "r")
checkLine = readLogFile.readline()
while (checkLine):
if((re.search('^\#\s+!tpr!',checkLine))):
if (re.search("PASSED", checkLine)):
simStatus = "Pass"
makeResultFile.write('{} \n'.format(simStatus))
checkLine = readLogFile.readline()
以上是我完整代码的一部分。我正在尝试在 makeResultFile
中写入单词 "Pass"。当我编译代码时,出现错误 "Name "simStatus" is not defined"。我正在使用 python 3。我不想直接使用函数 makeResultFile.write()
,因为我的代码中还有其他一些依赖循环。请提出解决此错误的方法。谢谢。
您应该将共享状态封装在一个对象中,然后将该对象传入。
class SimStatus:
def __init__(self):
self.status = 'Failed'
def newFunction(simStatus):
...
if 'PASSED' in checkLine:
simStatus.status = 'Pass'
makeResultFile.write(simStatus.status + '\n')
simStatus = SimStatus()
newFunction(simStatus)
newFunction(simStatus)
这避免了全局变量引入的所有设计和句法问题。可以使用这个功能同时跟踪多个状态,对测试脚本也有帮助。
def newFunction():
global simStatus
makeResultWrite = open ("file.txt", "w")
readLogFile = open("xyz.log", "r")
checkLine = readLogFile.readline()
while (checkLine):
if((re.search('^\#\s+!tpr!',checkLine))):
if (re.search("PASSED", checkLine)):
simStatus = "Pass"
makeResultFile.write('{} \n'.format(simStatus))
checkLine = readLogFile.readline()
以上是我完整代码的一部分。我正在尝试在 makeResultFile
中写入单词 "Pass"。当我编译代码时,出现错误 "Name "simStatus" is not defined"。我正在使用 python 3。我不想直接使用函数 makeResultFile.write()
,因为我的代码中还有其他一些依赖循环。请提出解决此错误的方法。谢谢。
您应该将共享状态封装在一个对象中,然后将该对象传入。
class SimStatus:
def __init__(self):
self.status = 'Failed'
def newFunction(simStatus):
...
if 'PASSED' in checkLine:
simStatus.status = 'Pass'
makeResultFile.write(simStatus.status + '\n')
simStatus = SimStatus()
newFunction(simStatus)
newFunction(simStatus)
这避免了全局变量引入的所有设计和句法问题。可以使用这个功能同时跟踪多个状态,对测试脚本也有帮助。