Python中的parse_extensions
函数出现错误。
错误位于描述为“无效语法”的最后一个“else”(最后一个if和else条件)上
我该如何解决它,为什么这是语法错误?
def parse_extension(payload, type_name):
entries = []
pretty_entries = []
pointer = 0
format_list_length = 2
if type_name == 'elliptic_curves':
format_entry = 2
if type_name == 'ec_point_formats':
format_entry = 1
if type_name == 'heartbeat':
format_entry = 1
if type_name == 'compression_methods':
format_entry = 1
if type_name == 'cipher_suites':
format_entry = 2
else:
if len(payload) > 1: # contents are a list
list_length, payload = unpacker(payload, format_list_length)
if type_name == 'padding':
return payload, hexlify(payload)
if type_name == 'signature_algorithms':
format_entry = 2
if type_name == 'status_request' or type_name == 'status_request_v2':
_type, payload = unpacker(payload, 1)
format_entry = 2
if list_length:
payload = payload[:list_length]
while (len(payload) > 0):
if type_name == 'server_name':
type_server, payload = unpacker(payload, 1)
entry, pointer1 = parse(payload, format_entry)
pointer += pointer1
payload = payload[pointer:]
entries.append(entry)
if type_name in set('elliptic_curves','ec_point_formats','heartbeat',
'compression_methods','cipher_suites'):
pretty_entries.append(tls_dictionary(type_name, entry)
*else:*
pretty_entries.append(entry)
return entries, pretty_entries
最佳答案
您在这里错过了一个括号:
pretty_entries.append(tls_dictionary(type_name, entry)
至pretty_entries.append(tls_dictionary(type_name, entry))
关于python - if_else条件下的Python语法错误-为什么会发生这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63031888/