Seite 1 von 14 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 136
  1. #1
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.238
    Box(en):  DM525  DM7080HD 

    Mit Python Dateiinhalt ausgeben, darstellen

    Moin, ich brauche mal eure Hilfe.
    Ich möchte eine Log Datei auslesen und natürlich auf einem Screen darstellen.
    Kleines Phyton Programm Startet/Stop einen Dienst, das Protokoll dazu wird in /etc abgelegt.
    ich möcht kein fertiges Programm, sonder nur eine Hilfe wie ich das angehen muss.
    Danke!
    Gruß
    Koepi

  2. #2
    Developer Avatar von Dre
    Registriert seit
    Sep 2005
    Beiträge
    8.661
    Box(en):  DM820HD  DM7080HD  DM7020HD  DM8000  DM800  DM7025  DM7020  DM7000 
    Code:
    self["mylabel"] = ScrollLabel()
    
    if fileExists("/pfad/datei"):
    fp = file("/pfad/datei", "r")
    content =fp.read()
    fp.close()
    
    Self["mylabel"].setText(content)
    Imports musst du noch machen und natürlich den screen definieren
    Developer Project Merlin

  3. #3
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.238
    Box(en):  DM525  DM7080HD 
    OK, danke. Mein Versuch war ein anderer Weg. Zig GS
    Gruß
    Koepi

  4. #4
    VIP Avatar von Fred Bogus Trumper
    Registriert seit
    Feb 2008
    Beiträge
    1.000
    Box(en):  DM900ultraHD  DM7020HD  DM800se 
    kommt darauf an, wie aufwändig du das machen willst - eingentlich brauchst du nur mit system den Befehl cat /etc/name.log über die eConsole ausgeben, das ist ein 7 Zeiler

    Ich hätte hier auch etwas aufwändigers inkl. skinbarer eConsole (thx @Dr.Best -> eConsole: Screen Größe ändern ), das genau für den Zweck passen würde, das müsstest du nur an ein paar Stellen anpassen und den os Teil in python proggen (1 Zeile)

    sag' halt Bescheid, wäre nur copy&paste
    Gruß Fred

  5. #5
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.238
    Box(en):  DM525  DM7080HD 
    Ich will eigendlich noch nicht genau beschreiben was ich vorhabe (ketschuss wird es Ahnen). Einmal möchte ich diese Datei auf einem Screen darstellen (kontrolle was ist passiert) zu zweiten möchte, muss ich die Datei auswerten nach einer bestimmten Zahlen/Buchstaben-folge.
    Zweks läuft das Programm / ist es gestoppt, dem entsprechen ein Picon Rot/Grün darstellen.

    PS.: Das Programm läuft, Grünes Picon ist sichtbar,
    Programm läuft nicht Rotes Picon,
    Das habe ich schon, was noch fehlt ist ein Autostart, da habe ich Ansätze gefunden.
    Und wie gesagt ich bin blutiger Python Anfänger.
    Geändert von koepi (14. January 2016 um 22:24 Uhr)
    Gruß
    Koepi

  6. #6
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.238
    Box(en):  DM525  DM7080HD 
    Soo, ich kann jetzt den das text.log im Skin ausgeben, hätte da aber noch ein kleines (für euch) Problem.
    Die Länge dee log's verändert sich, zwischen ungefähr 50-60 Zeilen. Die Ersten 30 Zeilen steht nur blabla, folge dessen möchte ich das log erst ab der 30zigsten Zeile darstellen.
    Meine bisherigen Versuche endeten mit einem GS.

    Jemand ne Idee wie ich das angehen kann, muss?

    Irgendwie:
    for Zeile
    if Zeile = 30:
    jetzt in String

    oder so
    Gruß
    Koepi

  7. #7
    Developer Avatar von Shaderman
    Registriert seit
    Sep 2005
    Beiträge
    3.051
    Box(en):  DM7020HD  DM500HD  DM600 
    Code:
    logDateiInhaltAbZeile30 = open("logDatei.txt").readlines()[30:]

  8. #8
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.238
    Box(en):  DM525  DM7080HD 
    Moin, erst einmal danke an @Shaderman für den denkanstoß.
    ich musste die Zeile ein wenig anpassen damit es funktioniert.

    Nun habe ich das Problem, das:
    Code:
    readlines[29:]
    zum GS führt.

    Bei:
    Code:
    readlines[29]
    sehe ich nur eine Zeile, was ja auch sinn macht.

    Hier ist der Abschnitt wo ich diese Datei anzeigen lassen will:
    Code:
        def info(self):
            if fileExists("/etc/1openvpn.log"):
                ovpn = file("/etc/1openvpn.log")
                Inhalt = ovpn.readlines()[29:]
                ovpn.close()
                self["Vpn"].setText(Inhalt)
    Ich hänge mal das Crash.log mit an.
    Vielleicht kann mir ja jemand helfen.
    Angehängte Dateien Angehängte Dateien
    Gruß
    Koepi

  9. #9
    Developer Avatar von Shaderman
    Registriert seit
    Sep 2005
    Beiträge
    3.051
    Box(en):  DM7020HD  DM500HD  DM600 
    Sorry, readlines() gibt ja eine liste zurück, keinen String. Mit ''.join(Inhalt) kannst Du aus der Liste einen String machen. Das sollte funktionieren:

    Code:
        def info(self):
            if fileExists("/etc/1openvpn.log"):
                ovpn = file("/etc/1openvpn.log")
                Inhalt = ovpn.readlines()[29:]
                ovpn.close()
                self["Vpn"].setText(''.join(Inhalt))

  10. #10
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.238
    Box(en):  DM525  DM7080HD 
    @Shaderman, du brauchts dich weiß Gott nicht zu entschuldigen!
    Ich habe ein dickes Danke zu sagen: LÄUFT SUPER!!!

    Google gibt dazu auch nicht viel her. Eigentlich nichts brauchbares.
    Gruß
    Koepi

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •