我有一個(ASCII)文件,foo.txt
,它有很多東西,但我只關心第2行的三個數字(用空格分隔)。爲了您的信息(我不知道它是否相關),此行前後的行數與行2不同。如何從Python文件中的特定行中獲取三個整數?
我想從行中獲取這三個數字2並將它們存儲爲三個獨立的整數(無論是三個單獨的變量還是一個長度爲3的列表,我都不在乎)。
我正在使用linecache.getline()
從文件中獲取該行,但它將該行拉出爲一個長字符串(而不是將行上的每個數字作爲其自己的字符串),並且我不知道如何提取來自結果字符串的三個數字。
這裏是我的代碼:
import linecache
linetemp = linecache.getline('foo.txt',2)
#nr = [int(i) for i in line.split(linetemp)]
print nr
的註釋行是我在提取linetemp的數字爲整數的嘗試,但由於linetemp是一個字符串(字符串,而不是一個列表)這是行不通的。
如果你可以改善我上面使用linecache.getline()
或如果你有另一種方法從foo.txt
第2行拉三個數字,我會很高興任何一種方式。
或者只是'map(int,linetemp.split())'。 – 2014-08-27 19:35:42
@kroolik在Python 3中給出了一個映射對象,但在Py2中給出了一個列表。列表理解適用於兩個版本。 – MattDMo 2014-08-27 19:37:59
OP正在使用'print nr',Py2正在使用中。 – 2014-08-27 19:41:41