-1

您好,我正在尝试使用http://bobrochel.blogspot.com/2010/11/bad-servers-chunked-encoding-and.html修补我的 python 代码,但是在代码中的任何位置添加此代码段时,我总是得到无效的语法. 我究竟做错了什么?

我的代码的开头如下所示:

import logging
import argparse
import sys
from arbitrer import Arbitrer


def patch_http_response_read(func):
     def inner(*args):
    try:
        return func(*args)
    except httplib.IncompleteRead, e:
        return e.partial

return inner
httplib.HTTPResponse.read = patch_http_response_read(httplib.HTTPResponse.read)


class ArbitrerCLI:
def __init__(self):
4

2 回答 2

1

正确缩进。

Python 3.x 中的 try 语句发生了变化。

import httplib
import logging
import argparse
import sys
from arbitrer import Arbitrer


def patch_http_response_read(func):
    def inner(*args):
        try:
            return func(*args)
        except httplib.IncompleteRead as e:
            return e.partial
    return inner

httplib.HTTPResponse.read = patch_http_response_read(httplib.HTTPResponse.read)


class ArbitrerCLI:
    def __init__(self):
        ...
于 2013-08-04T06:19:09.240 回答
1

except不再那样工作了。

except httplib.IncompleteRead as e:
于 2013-08-04T06:22:07.283 回答