我不是一個蟒蛇怪胎,但試圖解決這個問題,使用類似問題的幾個答案的信息,但似乎沒有真正的工作在我的情況。那就是:蟒蛇嘗試和異常
我打電話從一個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