我讀一個文件,並使用try catch來趕情況下,該數據可能不是我要找的類型:使用try除python - 成本是多少?
for w in text.readlines():
try:
new = float(w.split()[3].replace(',', '.'))
if new < temp and w.split()[1][3:5] == '12':
temp = new
date = w
except ValueError:
''
except IndexError:
''
這確實是一個哈克的解決方案,而不是東西,我會用,只是我寫的東西,因爲我需要快速訪問一些數據。但是,如果我想分析一個非常大的文件或流,那麼這樣的解決方案(修改是否使調用更智能等)是可行的,或者應該選擇其他解決方案。我的主要問題是關於嘗試捕捉的表現,是否是一種昂貴的操作,並且是否有嘗試除了良好用法的指導原則?希望這個問題不太寬泛。如果是,請關注我的示例。
習慣性的python看起來像那樣。請求寬恕不允許。 – RedX 2014-12-04 13:37:50
但是使用'pass'而不是''''來表示「什麼也不做」! – 2014-12-04 13:40:32
此外,你可以'except(ValueError,IndexError):'如果案件之間沒有區別。你應該儘可能縮短'try'塊。 – jonrsharpe 2014-12-04 13:48:35