【发布时间】:2018-06-11 15:29:24
【问题描述】:
我正在尝试在另一个函数中使用一个函数并给出错误。我正在使用类作为结构。我尝试将块初始化为零,但它没有用。块也是一个字节
Chunk = bytearray(b'\x00') # is it a good idea to use this or any other options?
class Prog:
PROGRAMMING_FLAG = False
SET_ADD_FLAG = False
DATA_FLAG = False
ADD_COMMAND_FLAG = False
ERASE_FLAG = False
ATTEMPT = 1
def prog_flash(Chunk):
try:
Prog.DATA_BUFFER = []
Prog.ADD_COMMAND_FLAG = True
Prog.DATA_BUFFER.append(hex(0x02))
No_Of_Bytes = Chunk * 64
for index in range(0,64):
Prog.DATA_BUFFER.append(hex(DataBuffer[No_Of_Bytes+index]))
Prog.DATA_BUFFER.append(hex(Calculate_Checksum(Prog.DATA_BUFFER[1:Prog.DATA_BUFFER.__len__()])))
Prog.DATA_FLAG = True
return Prog.DATA_BUFFER
except Exception, e:
print("Error")
pass
def other_fn():
prog_flash(Chunk)
错误:
NameError:未定义全局名称“块”
【问题讨论】:
-
当然
Chunk永远不会被定义,你永远不会分配给它。你想传递什么给prog_flash -
这段代码有太多问题,你没有分享实际的错误
-
你想将什么值传递给
pring_flash()?Chunk是一个变量名在prog_flash()函数内,而不是在外面。 -
块是一定大小的数据,以字节为单位。 hex 0x02 是一个写入它的命令,以使树莓派知道开始闪烁的命令。我应该如何定义 Chunk ?尝试初始化和使用,但它给出了同样的错误
-
这甚至不应该以名称错误结束运行;在这成为问题之前应该有一个语法错误。
标签: python python-2.7 class global nameerror