Maison > Questions et réponses > le corps du texte
小弟想在web上显示log文件的最新的五十条,遇到这个问题,希望大家帮帮忙。不甚感激。
大家讲道理2017-04-18 09:27:24
Plusieurs façons :
Utiliser le sous-processus pour ajuster tail -f
Utilisez pyinotiy pour surveiller les modifications de fichiers
Implémentez-le vous-même, par exemple, obtenez d'abord la taille du fichier, lisez le dernier octet, puis revenez au premier n, qui est la dernière ligne, puis revenez dans l'ordre
怪我咯2017-04-18 09:27:24
Toutes les méthodes mentionnées ci-dessus sont réalisables, mais la méthode de @nealnote peut entraîner des problèmes de performances si vous lisez des fichiers volumineux. Il est recommandé d'utiliser ce que @manong a dit : subprocess
réglez un unix
programme fourni avec le système. la mise en œuvre spécifique est la suivante : tail
import subprocess
fh = subprocess.Popen("tail -n 50 /var/log/dmesg", stdout=subprocess.PIPE, shell=True)
for line in fh.stdout.readlines():
print(line.decode('ascii'), end="")
Exécuter les résultats :
...
...
rdac: device handler registered
device-mapper: multipath round-robin: version 1.0.0 loaded
EXT4-fs (sdd5): mounted filesystem with ordered data mode. Opts:
EXT4-fs (sdd2): mounted filesystem with ordered data mode. Opts:
EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts:
EXT4-fs (dm-0): warning: maximal mount count reached, running e2fsck is recommended
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts:
Adding 1023996k swap on /dev/sdd3. Priority:-1 extents:1 across:1023996k