属性错误:“浮动”对象没有属性“超时”

问题描述 投票:0回答:2



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 列表时。

python google-colaboratory
2个回答
0
投票

函数

urllib.request.open()
接受单个字符串
url
作为第一个参数,或者接受 Request 对象,而不是 URL 列表。 如果深入研究,您会发现 open 函数 假定 arg 是
Request
对象,除非它是字符串。您遇到了一种情况,您向它传递一个
float
(不确定如果您向它传递一个字符串列表,这是如何发生的),并且
open
函数需要一个 Request 对象,因此返回一个错误。 要解决此问题,我建议更仔细地检查
Imagen
对象,然后从
Request
中的
url
创建
csv
对象,或者简单地将各个
url
本身发送到循环中的
urllib.request.open


0
投票

我遇到了同样的错误,并发现当我传递的 url 为空时会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.