我有一个(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