出现错误 TypeError: urlretrieve() 得到一个意外的关键字参数 'CablingFilename' python
我正在尝试从一个在线的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)
但是当我运行这个脚本并输入文件名时,我遇到了一个错误:“TypeError: urlretrieve() 收到了一个意外的关键字参数 'Filename'”。我检查了很多遍,但还是不知道哪里出错了。希望有人能帮我,我刚开始学Python,请不要太苛刻。
1 个回答
0
关键字是小写的 f
,也就是 'filename' 而不是 Filename。
错误的写法:
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
,因为它根本不是一个有效的关键字参数。