AttributeError Traceback (most recent call last)
<ipython-input-33-df22a7fa1657> in <module>
43 '''
44
---> 45 resp = urllib.request.urlopen(Imagen, timeout=300)
46 background = Image.open(resp).convert("RGBA")
47 background.thumbnail((150,150))
1 frames
/usr/lib/python3.8/urllib/request.py in open(self, fullurl, data, timeout)
513 req.data = data
514
--> 515 req.timeout = timeout
516 protocol = req.type
517
AttributeError: 'float' object has no attribute 'timeout
我在 google 的 Colab 上运行此代码
我有这个问题
resp = urllib.request.urlopen(Imagen, timeout=300)
当 Imagen 是 csv 文件中的 URL 列表时。
函数
urllib.request.open()
接受单个字符串 url
作为第一个参数,或者接受 Request 对象,而不是 URL 列表。 如果深入研究,您会发现 open 函数 假定 arg 是 Request
对象,除非它是字符串。您遇到了一种情况,您向它传递一个 float
(不确定如果您向它传递一个字符串列表,这是如何发生的),并且 open
函数需要一个 Request 对象,因此返回一个错误。 要解决此问题,我建议更仔细地检查 Imagen
对象,然后从 Request
中的 url
创建 csv
对象,或者简单地将各个 url
本身发送到循环中的 urllib.request.open
。
我遇到了同样的错误,并发现当我传递的 url 为空时会发生这种情况。