如何解决od.download() == None 但它不是空的 |异常处理 Opendatasets
更新:原来 class Encounter:
has_one :process_log,through: :encounter_process_logs
class ProcessLog:
belongs_to :encounter,through: :encounter_process_logs # This may be incorrect way of specifying the relationship?
class EncounterProcessLog:
belongs_to :encounter
belongs_to :process_log # May be this should be a has_one?
按设计返回 od.download()
。
还有什么比对 None
“失败”进行 None
检查更好的了?
我正在使用 od.download()
库下载 .zip
文件。
在opendatasets
中;第 iris_scans()
行,没有 print(download)
打印 if-statement
。
但是,在调用时返回 None
数据,后续打印可以成功显示数据。
scans = iris_scans()
的目的是为了“优雅的错误处理”。
注意:我使用了 if-statement
而不是 if-statement
,因为有多种可能导致 try-except
(例如死链接、连接中断等)
download == None
pip3 install opendatasets
解决方法
最初的问题是为下载实现某种形式的异常处理的道路上的障碍。
od.download() == None
按设计;因此需要替代 if download == None
。
正如@Henry 指出并协助的那样;下面的 Try-except
包含在 Github source 中发现的所有异常。
...
import urllib
def iris_scans():
try:
download = od.download('http://www.dgcdgyugcwyugyugcasc.com/wqduiuwqdwq') # BROKEN
...
return scans
except (urllib.error.URLError,IOError,RuntimeError) as e:
print('Iris Scans - failed')
return [[]*1778]
Iris Scans - failed
[]
1
此 post 的最佳答案在一行中演示了许多例外情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。