Datei laden und bestimmte Zeile anzeigen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mario

Hallo Zusammen,
hab ne frage: Wie kann ich, wenn ich z.b. eine Textdatei geöffnet habe den inhalt einer bestimmten Zeile ausgeben. Also ich habe da ein logfile und ich möchte genau die 3 Zeile von unten anzeigen lassen. Habt Ihr 'ne Idee ??
Noch was: mit welcher funktion kann ich den computernamen auslesen ??
Vielen Dank
Mario
oenone
User
Beiträge: 75
Registriert: Mittwoch 27. August 2003, 14:39
Wohnort: 49°17'28N, 8°15'57E
Kontaktdaten:

im modul 'socket' gibt es die funktion 'gethostname()':

Code: Alles auswählen

gethostname() -> string

Return the current host name.
angenommen, du hast die datei in foo geoeffnet.
dann kannst du die letzten drei zeilen so auslesen:

Code: Alles auswählen

bar = foo.readlines()[-3:]
naja, gibt bestimmt effizientere moeglichkeiten..

auf bald
oenone
if you don't remember something, it never happened.
if you aren't remembered, you never existed.
i don't quite understand what love is like... but if there was someone who liked me, i'd be happy.
Mario

Vielen Dank - hilf mir auf jeden Fall
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Da hast du keine andere Möglichkeit als die ganze Datei auszulesen und mitzucachen.

Code: Alles auswählen

f=file("log.txt","r")
l=[f.readline() for i in xrange(3)]
for line in f:
    del l[0]
    l.append(line)
f.close()
print l[0]
Und das andere machst du mit den Funktionen aus dem Modul socket:

Code: Alles auswählen

import socket
print socket.gethostname()
Mario

Auch Dir vielen Dank - Habt mir echt geholfen !!
Hat nochjemand eine Idee, warum ich kein Subject mit "smtplib" verschicken kann. Ist das nicht definiert ?? Wenn nein - kann man es definieren ??
Gruß Mario
Antworten