Bonjour à tous !
Je cherche à faire un script me permettant de lire des chiffres (écrit en continu dans un fichier .txt via un logiciel tiers) et de les tracer sur un axe (x,y). Pour les graphs, j'utilise drawnow, ça marche plutôt bien.
Cependant je rencontre un problème lorsque l'écriture de ces chiffres dans le fichier .txt est en pause pour x raisons. Je ne parviens pas à faire une pause dans mon script, puis de continuer la lecture du fichiers lorsque de nouveaux chiffres apparaissent.
Ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 from pylab import arange, plt from drawnow import drawnow import numpy as np import time plt.ion() # enable interactivity fig=plt.figure() # make a figure def makeFig(): plt.scatter(x,y) # I think you meant this x=list() y=list() f = open('data.txt', 'r+') line=f.readline() last_pos = f.tell() print "derniere pos", last_pos i=0 while True: if line: print(line) x.append(i) y.append(line) i=i+1 print i print "boucle last pos",last_pos drawnow(makeFig) last_pos=last_pos+1 line=f.readline(last_pos) else: time.sleep(1) f.flush() f.close() f = open('data.txt', 'r+') print(last_pos), ">last pos" line=f.readline(last_pos)
-lecture des données et creation graph +
-si pas de ligne avec des chiffres alors
-pause d'une seconde
-reprise de la lecture depuis la dernière position
Avec ce script, la lecture reprend depuis le début après la pause de 1s.
D’où provient le soucis ?
Merci par avance pour toute aide
Jonathan
Partager