urllib - readline, readlines oder read?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

urllib - readline, readlines oder read?

Beitragvon genrich » Mittwoch 10. November 2004, 09:19

Ich möchte eine Seite per urllib einlesen und jede zeile in einer Liste zusammen fassen:

Code: Alles auswählen

import urllib, string

url = "http://freedb.freedb.org/~cddb/cddb.cgi?cmd=cddb+lscat&hello=test+test+test.py+1.4&proto=5"


response = urllib.urlopen(url)
Gernes = response.readlines()[1:-1]
print Gernes


response = urllib.urlopen(url)
Genres = []
for i in response.readlines()[1:-1]:
    Genres.append(string.strip(i))
print Genres


Code: Alles auswählen


['data\r\n', 'folk\r\n', 'jazz\r\n', 'misc\r\n', 'rock\r\n', 'country\r\n', 'blues\r\n', 'newage\r\n', 'reggae\r\n', 'classical\r\n', 'soundtrack\r\n']
['data', 'folk', 'jazz', 'misc', 'rock', 'country', 'blues', 'newage', 'reggae', 'classical', 'soundtrack']



Die erste Variante ist schön klein... Hat aber den nachteil, das jeder Eintrag ein "\r\n" angehängt hat :( In der zweiten Variante ist das nicht der Fall, aber das ist wohl keine Optimale Lösung oder?

Gibt es einen besseren Weg?
joe

Re: urllib - readline, readlines oder read?

Beitragvon joe » Mittwoch 10. November 2004, 10:47

Hallo!
genrich hat geschrieben:

Code: Alles auswählen

response = urllib.urlopen(url)
Genres = []
for i in response.readlines()[1:-1]:
    Genres.append(string.strip(i))
print Genres


Code: Alles auswählen

response = urllib.urlopen(url)
Gernes = [genre.strip() for genre in response.readlines()[1:-1]]
print Gernes

Ich tippe mal auf veraltetes python-buch (auch wegen des string.strip(i) statt i.strip()),oder? :wink:
joe
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Re: urllib - readline, readlines oder read?

Beitragvon genrich » Mittwoch 10. November 2004, 14:11

joe hat geschrieben:

Code: Alles auswählen

Gernes = [genre.strip() for genre in response.readlines()[1:-1]]


Danke!

Allerdings kann ich mich noch nicht so ganz an diese "kurzschreibweise" anfreunden... Aber vielleicht wird das ja noch was ;)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: urllib - readline, readlines oder read?

Beitragvon Leonidas » Freitag 3. Dezember 2004, 20:46

genrich hat geschrieben:Allerdings kann ich mich noch nicht so ganz an diese "kurzschreibweise" anfreunden... Aber vielleicht wird das ja noch was ;)

Das sind List Comprehensions und ich muss zugeben, dass seitdem ich das verlinkte Dokument gelesen habe mag ich sie relativ gerne.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder