Print Zeile, die "Wort" python

Möchte ich zum drucken NUR die Zeile "Server" enthält die in der nachstehenden Stück Ausgabe:

Date: Sun, 16 Dec 2012 20:07:44 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=da8d52b67e5c7522:FF=0:TM=1355688464:LM=1355688464:S=CrK5vV-qb3UgWUM1; expires=Tue, 16-Dec-2014 20:07:44 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=nICkwXDM6H7TNQfHbo06FbvZhO61bzNmtOn4HA71ukaVDSgywlBjBkAR-gXCpMNo1TlYym-eYMUlMkCHVpj7bDRwiHT6jkr7z4dMrApDuTk_HuTrZrkoctKlS7lXjz9a; expires=Mon, 17-Jun-2013 20:07:44 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Connection: close

Diese Informationen holt man sich aus einer Liste genannt websiteheaders. Ich habe die unten Stück code, das macht mich verrückt, dass es nicht richtig funktioniert...

for line in websiteheaders:
    if "Server" in line:
        print line

Nun das obige Stück code ... genau der gleiche text, beschrieben wird, am Anfang von meinem post. Ich einfach nicht scheinen zu bekommen, warum es das tut...

Als ich gesagt habe, ich will nur drucken Sie die Zeile, die enthält "Server", wenn möglich ohne regex. Und wenn nicht möglich, mit regex.

Bitte um Hilfe und danke!

EDIT: Mein vollständiger code, so weit ist hier eingefügt: http://pastebin.com/sYuZyvX9
EDIT2: der Vollständigkeit halber, in hosts.txt es gibt derzeit 1 host mit Namen "google.com"

Update

Mein code war eigentlich gut funktioniert, aber es war ein Fehler, in einem anderen Stück von meinem code, was dafür sorgt, dass die Daten, die in der Liste websiteheaders war 1 große Zeichenfolge statt mehrerer Einträge. In der obigen Stück code, wird es natürlich finden, "Server" und drucken Sie den gesamten Eintrag, der in meinem Fall war die volle (große) Zeichenkette.

Mit

websiteheaders.verlängern(Kopfzeilen.splitlines())

statt

websiteheaders.append(Header)

Tat den trick für mich. Vielen Dank Jungs.

zeigen Sie uns, wo Sie erstellen websiteheaders...
Was bekommen Sie, wenn Sie print len(websiteheaders) direkt vor der for line in websiteheaders: - Schleife? Eigentlich, was macht print repr(websiteheaders) geben? (Sie können, Bearbeiten Sie den Ausgang in Ihre Frage.)
Es wird Ausgang 1 eigentlich.
dann ist das das problem. Ihre websiteheaders ist eine Liste, aber es ist ein Prozess mit einer langen Zeichenfolge gespeichert, die als erstes element. Also da Server ist in diesem string ist, geht es und druckt es. Statt websiteheaders.append(headers) verwenden websiteheaders.extend(headers.splitlines()), so dass Sie eine Liste mit jeder Zeile.
Danke das war in der Tat die richtige Antwort. Ich dachte immer, das Anhängen war der Weg zu gehen.

InformationsquelleAutor bryanvan | 2012-12-16

Schreibe einen Kommentar