檢索線時,這是我在這裏的第一條消息,我希望我不會犯任何錯誤。ValueError異常轉換成int通過getline.linecache
我寫一個Python腳本2.7從作爲外部輸入文件中提供的線的長列表執行線之間的比較。其中一些行只包含數字,在那些我通過getline.linecache
檢索後執行簡單的總和。
我的問題是一定數量的我正在錯誤的行後:
ValueError: invalid literal for int() with base 10
我明白,不知怎的,這與事實有一些問題,當我嘗試轉換做行檢索到整數類型,但根據我讀的每一行應該從內存數據庫中檢索作爲一個字符串,並且的確如果我試圖打印檢索到的值的類型,我得到str。我印刷有問題的值,以便理解爲什麼他們未能被轉換爲int:在第i個包含一些語義錯誤(我正在一些錯線,將其含字母,這當然未能被轉換爲int),但我仍然只能看到數字字符串的錯誤。在所有這些數字串的,我試過len(linecache.getline('input', line_n))
,看是否有多餘的字符存在,但我發現「\ n」,它從海峽到int轉換時不給任何問題。
我的輸入文件是由一系列線而完成的,一些數值一些不;這裏有幾行:
1
id3021-a
1
129485768
129485769
2
id2034
102
944709842
944709848
例如,第4行可以檢索,但不能轉換爲int。我如何將str轉換爲int而不會出錯?