Pycurl列表设置选项

时间:2013-06-12 09:49:40

标签: python pycurl

使用pycurl时,查看哪些选项(opt)的最佳方法是什么?

例如,我调用一个返回pycurl对象的方法。我想做的是打电话来查看opts(pycurl.setopts)的设置。

1 个答案:

答案 0 :(得分:1)

我认为没有这样的选择。但是将curl对象封装到另一个中会很容易:

class ExtendedCurl:
    invpycurl = {v:k for k, v in pycurl.__dict__.items()}
    def __init__(self):
        self._pycurl = pycurl.Curl()
        self._options = {}
    def setopt(self, opt, val):
        self._pycurl.setopt(self, opt, val)
        self._options[opt] = val
    def unsetopt(self, opt):
        self._pycurl.setopt(self, opt, val)
        del self._options[opt]
    def reset(self):
        self._pycurl.setopt(self, opt, val)
        self._options = dict()
    def getopts(self):
        for opt, val in self._options.iteritems():
            if opt in self.invpycurl.keys():
                print "{}: {}".formart(opt, val)
    def errstr(self):
        return self._pycurl.errstr()
    def perform(self):
        return self._pycurl.perform()
    def close(self):
        return self._pycurl.close()

基于此,您甚至可以通过添加__enter____exit__等方法(对于语句支持)使pycurl接口更好,支持构造函数中的pycurl.URL选项等。