我有一个日志文件forces.dat
,它用force值不断更新,每行一个。该文件如下所示:
1.190476e-05 ((6.882904e-04 3.133477e-04 -5.099806e+02) (8.595292e-08 1.222541e-08 -1.198233e-04) (0.000000e+00 0.000000e+00 0.000000e+00)) ((-1.555656e-05 2.712085e-05 2.977440e-06) (4.087154e-09 1.635450e-08 -2.306391e-08) (0.000000e+00 0.000000e+00 0.000000e+00))
第一个数字是时间,后面是力值
我想随着文件的增长使用一些值进行计算。我可以通过以下方式实时读取文件:
import time
def follow(thefile):
thefile.seek(0,2)
while True:
line = thefile.readline()
if not line:
time.sleep(0.1)
continue
yield line
if __name__ == '__main__':
logfile = open("forces.dat","r")
loglines = follow(logfile)
for line in loglines:
print line
(http://www.dabeaz.com/generators/)
我不想得到数字1、11、12和13并给它们分配一个字符串,这样我就可以使用它们来计算一些值
我可以和你一起工作
line = line.replace()
但是
line = line.rsplit('\t', 1)[0]
line = line[:12]
它不起作用
在python的
re
模块的帮助下,可以使用正则表达式解析数据。例如numbers
包含以下数据,即简单(易于使用)列表中的数字:如果您不熟悉正则表达式,让我来分析一下:
受支持的正则表达式语法的完整引用是here
相关问题 更多 >
编程相关推荐