關於 python int 會導致的可能問題

如果用python 內建的 int() 函式對一串不合法的字串進行轉換
可能會導致幾個error:

1. 'decimal' codec can't encode character u'\u5169' in position 5: invalid decimal Unicode string
--> 如果我們用 int() 對這個字元 u'\u5169' 進行轉換會導致上述error

2. ValueError: invalid literal for int() with base 10: ''
--> 如果我們用 int() 對 '' (空字串) 進行轉換會導致上述 error

所以比較保險的方式是:

try:
a = int(u'\u5169')
except:
a = 0


如果 int() 執行上有問題, a 的值會被設定為 0

留言

熱門文章