Python 死循环处理不断输出的日志
迷茫
迷茫 2017-04-18 10:26:30
0
2
574

对方接口的内容是在不断输出的(类似nginx访问日志) 我用Python写一个死循环去不停获取接口的内容, 但是内容会被重复输出, 请问大神,有什么方法对返回的内容进行处理, 每次循环只打印不同的内容?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
黄舟

S'il s'agit d'un journal, il doit avoir un horodatage. L'utilisation de SQLite pour l'enregistrement et les requêtes est une option

Ty80

Il y a 2 façons de penser :

  • Utilisez la fonction de recherche de pointeur de fichier pour stocker la position f.tell() après chaque lecture dans un fichier, et commencez la lecture à partir de la nouvelle position dans la boucle suivante

with open('access.log') as f:
    f.seek(n)
    ## processing 
    f.tell()
    ## save the newest postions to a file
  • Une idée moins pertinente est que la tâche planifiée au niveau du système coupe le journal nginx à 0 heures tous les jours et l'enregistre par date. J'ai ce script et il s'exécute de manière très stable. envoyez-le en cas de besoin.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal