ini
This commit is contained in:
40
log_viewer.py
Normal file
40
log_viewer.py
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
import sys
|
||||
import time
|
||||
import os
|
||||
|
||||
def follow_file(filename):
|
||||
"""Liest eine Datei und gibt neue Zeilen aus, sobald sie hinzugefügt werden."""
|
||||
print(f"Beobachte Datei: '{filename}'. Beenden mit Strg+C.")
|
||||
|
||||
# Warte, bis die Datei existiert
|
||||
while not os.path.exists(filename):
|
||||
print(f"Warte auf die Erstellung von '{filename}'...", end='\r')
|
||||
time.sleep(1)
|
||||
|
||||
try:
|
||||
with open(filename, 'r', encoding='utf-8', errors='ignore') as file_:
|
||||
# Gehe zum Ende der Datei, falls sie schon Inhalt hat
|
||||
# file_.seek(0, 2)
|
||||
|
||||
while True:
|
||||
line = file_.readline()
|
||||
if not line:
|
||||
# Wenn keine neue Zeile da ist, kurz warten
|
||||
time.sleep(0.1)
|
||||
continue
|
||||
# Neue Zeile gefunden, ausgeben
|
||||
print(line, end='')
|
||||
|
||||
except FileNotFoundError:
|
||||
print(f"Fehler: Datei '{filename}' wurde nicht gefunden.")
|
||||
except KeyboardInterrupt:
|
||||
print("\nViewer beendet.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 2:
|
||||
print(f"Benutzung: python3 {sys.argv[0]} <dateipfad>")
|
||||
sys.exit(1)
|
||||
|
||||
log_file_path = sys.argv[1]
|
||||
follow_file(log_file_path)
|
||||
Reference in New Issue
Block a user