我不是一个蟒蛇怪胎,但试图解决这个问题,使用类似问题的几个答案的信息,但似乎没有真正的工作在我的情况。那就是:蟒蛇尝试和异常
我打电话从一个Python脚本的功能: 下面是函数:
def getsom(X):
#some codes
try:
st = get data from site 1 using X
except:
print "not available from site 1, getting from site 2"
st = get data from site 2 using X
#some codes that depend on st
我从Python脚本调用该为这样的:
#some codes
for yr in range(min_yr,max_yr+1):
day=1
while day<max_day:
st1 = getsom(X)
#some code that depends on st1
day+=1
这当特定日期的数据在站点1或2上可用时正常工作,但当两个站点在另一天不可用时数据会中断。
我希望能够在第二天检查两个站点的特定日期是否无法使用数据。我尝试过不同的尝试配置,除非没有成功,并希望能够以最有效的方式执行此操作。
谢谢!
***编辑 奏效最终版本:
在功能部件:
def getsom(X):
#some codes
try:
st = get data from site 1 using X
except:
print "not available from site 1, getting from site 2"
st = get data from site 2 using X
try:
st = get data from site 2 using X
except:
print "data not available from sites 1 and 2"
st=None
if st is not None:
#some codes that depend on st
为了重复,以对剧本侧的第二天,我不得不处理的情况下,无从另一个尝试的功能/ except块:
#some codes
for yr in range(min_yr,max_yr+1):
day=1
while day<max_day:
try:
st=getsom(X)
except:
st=None
if st is not None:
#some codes that depend
因此,包装的代码在'试/ except'了'except'块... – ForceBru
不知道为什么我有向下投4点不到一分钟。@ ForceBru ...感谢您的建议,我试过了,但似乎没有得到它的工作。你可以举个例子 – QP1
'getsom'的代码几乎可以。你在'try/except'结构中封装了'st =从站点1获取数据',所以你应该使用'st =从站点2获取数据'。目前的答案是正确的。 – ForceBru