python - if_else条件下的Python语法错误-为什么会发生这种情况?

标签 python error-handling syntax

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/

相关文章:

python - 与特定 python 和 numpy 配置兼容的 Pandas 版本?

Java:终止,退出值:-1073740940

javascript - 错误页面总是在部分 View 中加载

python - 查找所有正则表达式匹配的索引?

python - 如何将数据框堆叠在一起(Pandas、Python3)

python - 如何说服 python tox 只为可用的 python 解释器运行测试?

c++ - 使用 "ifstream"、 "stringstream"和 "rdbuf()"将文件内容读取为字符串时如何检查 I/O 错误?

Javascript变量初始化语法

ios - 变量/常量声明差异

syntax - 用于从列表中删除给定元素的 LISP 函数不起作用