简单学Python错误和异常处理2使for循环坚持执行

前面我们学过了简单学Python——错误和异常处理,文章中简单的介绍了一下原理及举例应用。今天我们再讲一下在for循环中处理错误和异常的例子。

事情是这样的,我要建立自己的股票数据库,为了以后用来回测策略。先下载各个股票的日K线数据,因为要下载的数据量大(每只股票的日K数据为从股票上市到最近一个交易日),所以下载不了几个股票,服务器就超时了。这么个下载法,好几千支股票得下载到何年何月呀。于是乎,只能上手段了,超时后继续连接下载。代码如下:

#实现了服务器拒绝了也能再次尝试下载的功能
import time
import pandas as pd
import numpy as np
#查看一下哪些股票日k线数据在文件中
store = pd.HDFStore('test.h5')
print(store.keys())
#所有股票代码转成列表后续用到
list = data['ts_code'].tolist()
for i in list:
#容易中断,所以用try...except
	try:
		if not (('/'+i) in store.keys()):
#下载某个股票完整的日线数据
		df = pro.daily(ts_code=i)
#转存到hdf中,以股票代码为key
		df.to_hdf('test.h5',key=i, append=True, mode='r+', format='t')
#服务器容易中断,所以设置休息时长为10s
		time.sleep(10)
#系统提示的错误代码不是正确的,因此except后面什么都不填了。
	except :
#继续执行循环。
	continue

方法就是在for循环中用try/except处理错误,处理完成后,用continue语句接着循环。需要注意的是有时候系统提示的错误代码不是正确的,所以except后面什么都不填了,意思就是无论遇到什么错误,就是要继续执行。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/75010
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日 下午2:33
下一篇 2024 年 7 月 11 日 下午2:34

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注