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.
Nun hätte ich aber gerne dass Nur die Lezte zeile aus der php seite gespeichert wird.
Mit readlines geht das nicht??
Wie geht das?
Schon mal vielen Dank
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import urllib2
# Diese Konstante gibt an, wie viele (letzte) Zeilen gespeichert werden
LAST_X_LINES = 3
def reader():
# In dieser Liste werden die Zeilen zwischengespeichert
last_lines = []
# Eine HTTP-Anfrage wird gestartet. Als Rückgabe gibt es ein REQUEST-Objekt.
# Man kann über ein REQUEST-Objekt iterieren -- gleich wie durch die
# Zeilen einer Textdatei
request = urllib2.urlopen("http://halvar.at/")
# Hier wird durch die einzelnen Zeilen des Requests iteriert
for line in request:
# Wenn die Zeile, nach dem Abschneiden der unsichtbaren Zeichen an rechter
# Seite, noch etwas enthält, dann...
if line.rstrip():
# Zeile zur Liste hinzufügen
last_lines.append(line)
# Wenn die Länge der Liste (last_lines) größer als die Konstante LAST_X_LINES ist, dann...
if len(last_lines) > LAST_X_LINES:
# ...ersten Eintrag aus der Liste entfernen
last_lines.pop(0)
# Request-Objekt schließen
request.close()
# Falls etwas in der Liste steht, dann...
if last_lines:
# Zieldatei zum Schreiben öffnen
dest_file = file("zieldatei.txt", "w")
# Die Zeilen, die noch in der Liste "last_lines" stehen, werden in die
# Datei geschrieben.
dest_file.writelines(last_lines)
# Zieldatei schließen
dest_file.close()
print last_lines
reader()
mfg
Gerold
Zuletzt geändert von gerold am Donnerstag 6. März 2008, 10:20, insgesamt 2-mal geändert.
Dankeschön, hm ich versteh den code zwar noch nicht richtig,.. bin Anfänger^^
Kann ich auch eine bestimmte Zeile rauslesen?
Also.. statt der Letzten die 5. oder sowas.
Was sind LAST_X_LINES?, kann ich hier die Zeile bestimmen?
Was heißt rstrip?
Und was macht last_lines.pop(0)
Sry für die vielen Fragen.^^
Mit unsichtbaren Zeichen meint Gerold Whitespace. Es geht darum, dass Zeilen die nur Newlines, Leerzeichen oder Tabs enthalten, nicht verarbeitet werden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
for line in request:
# Zeile zur Liste hinzufügen
last_lines.append(line)
Stattdessen kannst du auch ``last_lines = request.readlines()`` schreiben.
Jetzt ist in der Liste jede einzelne Zeile des Requests drinnen. -- Der Name "last_lines" passt jetzt natürlich nicht mehr. -- Und du kannst z.B. mit ``last_lines[10]`` auf die Zeile 11 zugreifen. Oder mit ``last_lines[5:10]`` auf ausgewählte Zeilen.
Vielen Dank,
Ihr seit echt Klasse!!!
...
Aber jetzt noch eine Frage
Kann man auch die Zeichezahl in der Zeile bestimmen?
Ich kann jetzt schon z.B. Zeile 11 printen lassen.
Dcoh kann man auch Zeile 11 zeichen 21 printen lassen?
Geht das?
my_list = ["Ich bin eine Liste", "die mit Strings gefüllt ist, ", "Strings wie
diesem hier!"]
print my_list[0][4:8] + my_list[1][8:14] + my_list[0][12:] + my_list[2][10]
-> bin String Liste
audax hat geschrieben:Besserwisser.
Besser wäre wirklich gewesen, ich hätte "Strings sind auch nur immutable slicable!" geschrieben. Da wäre ihm sicher gleich alles klar gewesen.
Hallo audax!
Ich bin zwar kein Freund von solchem Fachchinesisch. Aber die Aussage "Strings sind auch nur Listen" ist falsch und vermittelt etwas falsches.
Wie wäre es mit: "Du kannst die einzelnen Zeichen aus einem String genau so auslesen, wie du einzelne Einträge einer Liste auslesen kannst. Z.B. so: ``my_text[4]``."
Ich wollt an der Stelle nicht klugscheißern sondern es klarstellen, dass Strings eher mit Tupeln vergleichbar sind als mit Listen. Eigentlich sind ja Strings weder Tupel noch Listen
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
HI, ich versteh den Code nicht wirklich...
Was bedeuten Die zahlen in den Klammern? [4:8] ...
Und was sind das für strings in der Liste?
Kurzum...
...ich versteh den code nicht...?