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
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 : subprocessré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
file.readlines()[-50:]
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
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 :
Exécuter les résultats :subprocess
réglez ununix
programme fourni avec le système. la mise en œuvre spécifique est la suivante :tail