urlencode() rückwärts?

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.
heiliga horsd

Danke euch beiden, das funktioniert leider nicht, als Fehlermeldung erhalte ich, dass man Listen nicht kodieren kann. (AttributeError: 'list' object has no attribute 'decode')
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Oh Mist, stimmt. Dekodiere den Inhalt schon beim Auslesen. Sowas hier:

Code: Alles auswählen

with open(dateiname) as datei:
    inhalt = datei.read().decode(encoding).split('\n')
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Dav1d hat geschrieben:So sollte es gehen, ich bin mir aber wirklich nicht sicher!

Code: Alles auswählen

>>> list(map(lambda x: up(x.decode('utf-8')), [b'%7C', b'%20', b'test+test']))
['|', ' ', 'test test']
//Edit zu langsam, um 5min :lol:
Meinst du nicht, dass man spätestens an dieser Stelle mal eine LC in Erwägung ziehen sollte? :)
heiliga horsd

OK, das funktioniert, nur leider hab ich das Problem, dass nun jedes Element der Liste bloß ein Zeichen enthält - wie kann ich das nun so machen, dass (wie ursprünglich eigentlich auch) ein Element den ganzen Datensatz (bestehend aus 6 Feldern, mit Komma getrennt) enthält.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Na wie beschrieben. (ungetestet:)

Code: Alles auswählen

with open(dateiname) as datei:
  zeilen = map(dieses-unqoute-ding, datei.read().decode(encoding).split('\n'))
heiliga horsd

Ah, nun hab ich es verstanden und es funktioniert einwandfrei! :)
Danke an alle die mir geholfen bzw. es versucht haben!!
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

snafu hat geschrieben:
Dav1d hat geschrieben:So sollte es gehen, ich bin mir aber wirklich nicht sicher!

Code: Alles auswählen

>>> list(map(lambda x: up(x.decode('utf-8')), [b'%7C', b'%20', b'test+test']))
['|', ' ', 'test test']
//Edit zu langsam, um 5min :lol:
Meinst du nicht, dass man spätestens an dieser Stelle mal eine LC in Erwägung ziehen sollte? :)
Ja könnte man... :D

Wie schauts eig. mit der Geschwindigkeit von map aus?
Schneller als eine LC (ohne lambda, einfach nur unquote_plus)?
the more they change the more they stay the same
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dav1d hat geschrieben:Wie schauts eig. mit der Geschwindigkeit von map aus?
Schneller als eine LC (ohne lambda, einfach nur unquote_plus)?
Nein, langsamer, weil der Overhead der Funktionsaufrufe hinzukommt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten