python输出动图_Tail读取一个不断增长的动态文件并提取两列,然后打印一个图形...

正如John提到的,您可以将tail输出输入到文件中,但是如果您出于某种原因想要处理文件中的所有内容,并且还需要一个动态图形的示例,那么就在这里import math

import time

import pylab

def getDataTest(filePath):

s = 0

inc = .05

x_list=pylab.arange(0, 5.0, 0.01)

while 1:

s += inc

if abs(s) > 1:

inc=-inc

y_list = []

for x in x_list:

x += s

y = math.cos(2*math.pi*x) * math.exp(-x)

y_list.append(y)

yield x_list, y_list

def tailGen(filePath):

f = open(filePath)

#f.seek(0, 2) # go to end

for line in f: yield line

while 1:

where = f.tell()

line = f.readline()

if line:

yield line

else:

time.sleep(.1)

f.seek(where)

def getData(filePath):

x_list = []

y_list = []

maxCount = 10

for line in tailGen(filePath):

# get required columns

tokens = line.split(",")

if len(tokens) != 2:

continue

x, y = tokens

x_list.append(x)

y_list.append(y)

if len(x_list) > maxCount:

x_list = x_list[-maxCount:]

y_list = x_list[-maxCount:]

yield x_list, y_list

pylab.ion()

pylab.xlabel("X")

pylab.ylabel("Y")

dataGen = getData("plot.txt") # getDataTest("plot.txt") #

x_list, y_list = dataGen.next()

plotData, = pylab.plot(x_list, y_list, 'b')

#pylab.show()

pylab.draw()

for (x_list, y_list) in dataGen:

time.sleep(.1)

plotData, = pylab.plot(x_list, y_list, 'b')

pylab.draw()

你可以从中吸取一些元素,我认为它会解决你的问题。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值