【问题标题】:ValueError: too many values to unpack (expected 3) - WebServerValueError:要解压的值太多(预期为 3)-WebServer
【发布时间】:2019-04-19 21:15:26
【问题描述】:

您好,我正在尝试运行this tutorial,但在 Python 3 中,所以我在此行中有此 ValueError(解包的值太多(预期为 3)),在图片中以蓝色标记或如下所示:

 def parse_request(self, text):
    request_line = text.splitlines()[0]
    request_line = request_line.rstrip('\r\n')
    # Break down the request line into components
    (self.request_method,  # GET
     self.path,            # /hello
     self.request_version  # HTTP/1.1
     ) = request_line.split()

我不知道我做错了什么。有人可以帮帮我吗?提示中的代码没问题,但是当我在 Google Chrome 中打开 localhost:8888/hello 时,它会在 Anaconda 提示中返回此错误。我正在使用 Sublime Text 来运行它。我试图用 Jupyter 来做,但它给了我另一个错误。我不知道该怎么办。感谢您的回复。

【问题讨论】:

    标签: python webserver wsgi


    【解决方案1】:
    (self.request_method,  # GET
     self.path,            # /hello
     self.request_version  # HTTP/1.1
     ) = request_line.split()
    

    此代码期望 request_line.split() 准确返回三个部分,但它返回的不止于此。

    作为一个非常简单的调试步骤,您可以打印request_line 以查看是否符合您的预期。

    【讨论】:

      【解决方案2】:

      我对响应类型有疑问,因为在教程中他们使用的是 Python 2.7,而在 Python 3+ 中,对变量的类型(字节和字符串)存在混淆。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-09
        • 2019-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多