有一个如下所示的代码结构。如何获取循环中的State:[b'8e4d29d4-c144-4d18-aecc-77f4567d8d32']
中的值?
即我想得到";状态";价值
# send request
reply = srv.SendPacket(req)
print(reply)
if reply.code == pyrad.packet.AccessAccept:
print("access accepted")
else:
print("access denied")
print("Attributes returned by server:")
for i in reply.keys():
print("%s: %s" % (i, reply[i]))
(venv) host@local-pc:~/Documents/Workshop/radiusapplication$ python3 test1.py
AuthPacket([(18, [b'Enter Passcode']), (24, [b'8e4d29d4-c144-4d18-aecc-77f4567d8d32'])])
access denied
Attributes returned by server:
Reply-Message: ['Enter Passcode']
State: [b'8e4d29d4-c144-4d18-aecc-77f4567d8d32']
您可能想要
reply["State"][0].decode()
(如果您想将其作为字符串;如果您对将其作为字节对象接收感到满意,请删除.decode()
部分(。
解释:
您可以逐步获得这些值:
>>> reply["State"] # result: value of "State", a one-element list
D_7D_9[b'8e4d29d4-c144-4d18-aecc-77f4567d8d32']