所以这就是我想要做的事情:
我有一个巨大的文件。我想在python中打开它并查看每一行,如果它匹配某个预定的字符串我想得到紧跟在该字符串之后的数字,将它们全部加起来并得到平均值。
文件如下所示:
`$` Data
`$` Number of hours: 34
`$` DATA
`$` Number of hours: 56
`$` DATA3
`$` MoreDATA
`$` MOREDATA
`$` Number of hours: 9
我想添加34 + 56 + 9,然后获得平均值。
到目前为止,这就是我所拥有的:
#fname = raw_input("Enter file name: ")
fh = open("data.txt")
fhread = fh.readlines()
#fhstrip = fhread.rstrip()
#fhstripz = fhstrip.lstrip()
findz = "Number of hours:"
for line in fhread:
if line.startswith(findz)
print line
#print saved
#spose = line.find('', atpos)
fh.close()
print "Done"
我不知道我是否应该使用.read()
或.readlines()
----当我使用readlines时,我不允许rstrip
和lstrip
请使用"小时数"
帮助查找该行的所有实例答案 0 :(得分:4)
将文件视为迭代器,确保只会按实际需要读取行,而不是一次将整个文件缓存在内存中:
#fname = raw_input("Enter file name: ")
with open("data.txt") as fh:
for line in fh:
if line.startswith("Number of hours:"):
print line