Skip to main content
 首页 » 编程设计

python之Python 中的关键字参数

2025年05月04日11linjiqin

所以我尝试使用 urllib2/BeautifulSoup 从维基百科页面读取数据。我将此代码复制到终端中:

import urllib2 
 
hdrs = { 'User-Agent': "Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11" }  
req = urllib2.Request("http://en.wikipedia.org/wiki/List_of_United_States_mobile_phone_companies" , headers = hdrs) 
fd = urllib2.urlopen(req)  

它工作正常。但是,当我进行此调用(删除关键字参数)时:

req = urllib2.Request("http://en.wikipedia.org/wiki/List_of_United_States_mobile_phone_companies" , hdrs) 

我得到一个错误:

 TypeError: must be string or buffer, not dict 

为什么会这样?我认为关键字参数在函数调用中是可选的。感谢您的帮助!

请您参考如下方法:

urllib2.Request的第二个参数是数据,不是标题。

class urllib2.Request(url[, data][, headers][, origin_req_host][, unverifiable]) 

要指定标题而不指定数据,您应该使用关键字参数形式。