Python 3.x Python 3.4:try和except之后继续函数 问题:
我目前正在从雅虎财经获取数据。当使用try和except时,函数在到达错误后停止。如何在except语句之后继续函数以提取指数中股票的剩余数据Python 3.x Python 3.4:try和except之后继续函数 问题:,python-3.x,exception-handling,Python 3.x,Exception Handling,我目前正在从雅虎财经获取数据。当使用try和except时,函数在到达错误后停止。如何在except语句之后继续函数以提取指数中股票的剩余数据 index = sp500 def yhooKeyStats(): try: for eachStock in index: isUrl = 'http://finance.yahoo.com/q/is?s='+eachStock+'+Income+Statement&annual' bsUrl =
index = sp500
def yhooKeyStats():
try:
for eachStock in index:
isUrl = 'http://finance.yahoo.com/q/is?s='+eachStock+'+Income+Statement&annual'
bsUrl = 'http://finance.yahoo.com/q/bs?s='+eachStock+'+Balance+Sheet&annual'
cfUrl = 'http://finance.yahoo.com/q/cf?s='+eachStock+'+Cash+Flow&annual'
def bsYhooStats(url):
req = urllib.request.Request(url)
resp = urllib.request.urlopen(req)
respData = resp.read()
dRespData = respData.decode('utf-8')
gw = dRespData.split('Goodwill</td><td align="right">')[1].split('  ')[0]
if len(gw) < 14:
gw = gw
else:
gw = '-'
return gw
print(eachStock, bsYhooStats(bsUrl))
except IndexError:
pass
index=sp500
def yhooKeyStats():
尝试:
对于每个库存索引:
isUrl='1〕http://finance.yahoo.com/q/is?s=“+eachStock+”+收益+报表和年度”
bsUrl=http://finance.yahoo.com/q/bs?s=“+每个股票+”+资产负债表+年度”
cfUrl='1http://finance.yahoo.com/q/cf?s=“+eachStock+”+现金+流量和年度”
def bsYhooStats(url):
req=urllib.request.request(url)
resp=urllib.request.urlopen(req)
respData=resp.read()
dRespData=respData.decode('utf-8')
gw=dRespData.split('Goodwill')[1]。split('nbsp')[0]
如果len(gw)<14:
gw=gw
其他:
gw='-'
返回gw
打印(每个目录,bsYhooStats(bsUrl))
除索引器外:
通过
yhooKeyStats()
输出
7050000毫米
ABT 10067000
ABBV 5862000
ACN 2395894
王牌-
法案24521500
ADT 3738000
AES 1458000
AET 10613200
AFL-只需将
try/except
放入循环中即可。以下几种可能性之一:
for eachStock in index:
...
try:
def bsYhooStats(url):
...
return gw if len(gw) < 14 else '-'
print(eachStock, bsYhooStats(bsUrl))
except IndexError:
pass
对于索引中的每个存货:
...
尝试:
def bsYhooStats(url):
...
如果长度(gw)<14,则返回gw
打印(每个目录,bsYhooStats(bsUrl))
除索引器外:
通过
您可以将try/except放入循环中。这太简单了。。。非常感谢。