我正在尝试从在线的txt文件中创建一个列表,这是代码的一部分
import urllib
def Dict(Filename,var1,var2):
FileDict = open(Filename,'r')
List = []
for l in FileDict:
if D in l:
pattern = re.split('W',l)
List.append(pattern[4])
return (thing1,thing2,List)
in1=raw_input("name of file \n >")
url='https.page_address'
in2=raw_input("other instructions")
in3=raw_input("other instructions2")
urllib.urlretrieve(url+in1, Filename = in1)
MyDict = Dict(in1,in2,in3)
但是当我执行脚本并输入in1(文件名)时,我得到错误“TypeError:urlretrieve()得到一个意外的关键字参数'文件名',我反复检查但我不知道错误 希望有人帮忙,我是python的新手所以请不要这么难 “
答案 0 :(得分:0)
关键字为小写f
,'文件名'不是文件名。
filename = uri
错误的方式:
In [56]: import urllib
In [57]: in1 = "foo"
In [58]: urllib.urlretrieve("http://goo.gl/xymu6o",Filename=uri)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-58-e89982cacc95> in <module>()
----> 1 urllib.urlretrieve("http://goo.gl/xymu6o",Filename=in1)
TypeError: urlretrieve() got an unexpected keyword argument 'Filename'
正确的方式:
In [59]: import urllib
In [60]:
In [60]: in1 = "foo"
In [61]: urllib.urlretrieve("http://goo.gl/xymu6o",filename=in1 )
Out[61]: ('foo', <httplib.HTTPMessage instance at 0x7fb580d57680>)
只需更改为urllib.urlretrieve(url+in1, filename = in1)
或urllib.urlretrieve(url+in1, in1)
正如您从文档描述中看到的那样:
urllib.urlretrieve(url[, filename[, reporthook[, data]]])
您传递了必需url
filename
,Filename
而非filename
Filename
是关键字arg,您不能使用{{1}},因为它不是有效的关键字参数。