Python urrllib2在add_头上抛出AttributeError,但仅在本地抛出

Python urrllib2在add_头上抛出AttributeError,但仅在本地抛出,python,urllib2,Python,Urllib2,我遇到了一个奇怪的问题 一段简单的python代码: import urllib2 request = urllib2.Request('http://google.com') request.add_header('foo', 'bar') response = urllib2.urlopen(request) data = response.read() print data 在add_头上引发AttributeError。以下是回溯: Traceback (most recent c

我遇到了一个奇怪的问题

一段简单的python代码:

import urllib2

request = urllib2.Request('http://google.com')
request.add_header('foo', 'bar')

response = urllib2.urlopen(request)
data = response.read()
print data
在add_头上引发AttributeError。以下是回溯:

Traceback (most recent call last):
 File "C:/path/to/bizarro.py", line 4, in <module>
  request.add_header('foo', 'bar')
 File "C:\Python27\lib\urllib2.py", line 229, in __getattr__
  raise AttributeError, attr
AttributeError: add_header
感觉好像它与python或windows有关(我运行的是Windows7)。
我咨询过谷歌,但到目前为止还没有任何迹象表明该去哪里寻找。有人遇到过这样的事情吗?有什么办法可以找到解决方案吗

感谢帕德雷克·坎宁安为我指明了正确的方向

urrlib2.py中缺少一行。世界跆拳道联盟?这是add_header方法的声明

应该是这样的:

def add_header(self, key, val):
    # useful for something like authentication
    self.headers[key.capitalize()] = val
就像

    # useful for something like authentication
    self.headers[key.capitalize()] = val
这是图书馆里唯一缺的一行。我添加了它,代码运行正常


编辑:想一想,我想可能是我自己无意中删除了它。在IDE(PyCharm)中,我可以在不经意间通过Ctrl+单击add_头进入库,并通过快速Ctrl+x删除我经常使用的行,这样就可以了

相同版本的python?如果查看请求类中的
C:\Python27\lib\urllib2.py
是否看到
self.add\u header
?它没有!我可以从Python27源代码中添加它吗?将您的文件内容发布到pastebin,我会比较一下,看看有什么不同,它是一个标准库,所以有些东西已经改变了somehowurllib2.py
    # useful for something like authentication
    self.headers[key.capitalize()] = val