Guten Tag danke für die Antwort Sorry ich dachte das sei nicht so wichtig der HTMLParser macht nichts anderes als eben das Attribut des img-tags um text erweitern... Und das sieht so aus : class aHTMLParser(HTMLParser): res = "" def handle_starttag(self, tag, attrs): attributes="" for (key,value) in attrs: if tag=="img" and key=="alt": value = "esklappt" attributes += ' %s="%s"' % (key,value) self.res += "<%s%s>" % (tag, attributes) ...und hier nochmals den restliche Code : def OnAlt(self, event): for file in DirectoryWalker("."): try: html = open(file).read() parser = aHTMLParser() parser.feed(html) parser.close() html = parser.res open(file, 'w').write(html) print file except: print "diese datei konnte nicht geöffnet werden" print "fertig mit alt ändern" Leider ist die neugeschriebene Datei ohne Leere Zeilen und Leerschläge. Und ich möchte eben das die Datei danach wieder gleich aussieht, drum ist ein " pretty-printer" nicht so sinnvoll. Danke und Gruess Michel Koller -----Ursprüngliche Nachricht----- Von: python-de-bounces@python.net [mailto:python-de-bounces@python.net] Im Auftrag von python-de-request@python.net Gesendet: Keines An: python-de@python.net Betreff: python-de Nachrichtensammlung, Band 26, Eintrag 29 Um e-Mails an die Liste python-de zu schicken, nutzen Sie bitte die Adresse python-de@python.net Um sich via Web von der Liste zu entfernen oder draufzusetzen: http://python.net/mailman/listinfo/python-de oder, via Email, schicken Sie eine Email mit dem Wort 'help' in Subject/Betreff oder im Text an python-de-request@python.net Sie koennen den Listenverwalter dieser Lister unter der Adresse python-de-owner@python.net erreichen Wenn Sie antworten, bitte editieren Sie die Subject/Betreff auf einen sinnvollen Inhalt der spezifischer ist als "Re: Contents of python-de digest..." Meldungen des Tages: 1. Wurzel ziehen (Benjamin Kaminski) 2. Re: Wurzel ziehen (max) 3. Re: Wurzel ziehen (Wolfram Kraus) 4. Re: Wurzel ziehen (Georg Mischler) 5. Re: Wurzel ziehen (Marcus von Appen) 6. Re: Re: Wurzel ziehen (Benjamin Kaminski) 7. HTML-Datei auslesen, ändern, schreiben der Code ist onBlock (michel.koller@globonet.ch) 8. Re: HTML-Datei auslesen, ändern , schreiben der Code ist onBlock (Diez B. Roggisch) ---------------------------------------------------------------------- Message: 1 Date: Thu, 30 Jun 2005 14:38:14 +0200 From: Benjamin Kaminski <BeKaminski@web.de> Subject: [Python-de] Wurzel ziehen To: python-de@python.net Message-ID: <706375710@web.de> Content-Type: text/plain; charset=iso-8859-1 Hallo, wie zieht man unter python eigentlich die n-te wurzel aus einer zahl? Vielen Dank. -- Benjamin Kaminski mailto:bekaminski@gmail.com mailto:benjamin@kernteamer.de ________________________________________________________________________ _ Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179 ------------------------------ Message: 2 Date: Thu, 30 Jun 2005 15:53:10 +0200 From: max <maximilian_88@arcor.de> Subject: Re: [Python-de] Wurzel ziehen To: python-de@python.net Message-ID: <200506301553.17028.maximilian_88@arcor.de> Content-Type: text/plain; charset="iso-8859-1" Am Donnerstag, 30. Juni 2005 14:38 schrieb Benjamin Kaminski:
Hallo, wie zieht man unter python eigentlich die n-te wurzel aus einer zahl? hoch (**) 1/n, also für die 5te Wurzel aus 32: 32**(1/5) .. dachte ich, funktioniert nicht, da 1/5 ergibt 1. Also ist richtig:
32**(1/5.0)
Vielen Dank.
gruß maximilian -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : nicht verfügbar Dateityp : application/pgp-signature Dateigröße : 189 bytes Beschreibung: nicht verfügbar URL : http://starship.python.net/pipermail/python-de/attachments/20050630/385f d835/attachment-0001.pgp ------------------------------ Message: 3 Date: Thu, 30 Jun 2005 15:56:18 +0200 From: Wolfram Kraus <kraus@hagen-partner.de> Subject: [Python-de] Re: Wurzel ziehen To: python-de@python.net Message-ID: <da0t6u$5c3$1@sea.gmane.org> Content-Type: text/plain; charset=us-ascii; format=flowed Benjamin Kaminski wrote:
Hallo, wie zieht man unter python eigentlich die n-te wurzel aus einer zahl?
Vielen Dank. Mit etwas Mathematik: n-te Wurzel aus x == x hoch 1/n Oder in python:
2 ** (1/3.) 1.2599210498948732 1.2599210498948732 ** 3 2.0
HTH, Wolfram ------------------------------ Message: 4 Date: Thu, 30 Jun 2005 09:59:18 -0400 (EDT) From: Georg Mischler <schorsch@schorsch.com> Subject: Re: [Python-de] Wurzel ziehen To: python-de <python-de@python.net> Message-ID: <Pine.BSF.4.58.0506300958000.77921@emancholl.pair.com> Content-Type: TEXT/PLAIN; charset=ISO-8859-1 max wrote:
Am Donnerstag, 30. Juni 2005 14:38 schrieb Benjamin Kaminski:
Hallo, wie zieht man unter python eigentlich die n-te wurzel aus einer zahl? hoch (**) 1/n, also für die 5te Wurzel aus 32: 32**(1/5) .. dachte ich, funktioniert nicht, da 1/5 ergibt 1. Also ist richtig:
32**(1/5.0)
import math math.sqrt(n) -schorsch -- Georg Mischler -- simulations developer -- schorsch at schorsch com +schorsch.com+ -- lighting design tools -- http://www.schorsch.com/ ------------------------------ Message: 5 Date: Thu, 30 Jun 2005 16:31:54 +0200 From: Marcus von Appen <mva@sysfault.org> Subject: Re: [Python-de] Wurzel ziehen To: python-de@python.net Message-ID: <20050630143154.GA539@medusa.sysfault.org> Content-Type: text/plain; charset=iso-8859-15 On, Thu Jun 30, 2005, Georg Mischler wrote:
max wrote:
Am Donnerstag, 30. Juni 2005 14:38 schrieb Benjamin Kaminski:
Hallo, wie zieht man unter python eigentlich die n-te wurzel aus einer zahl? hoch (**) 1/n, also für die 5te Wurzel aus 32: 32**(1/5) .. dachte ich, funktioniert nicht, da 1/5 ergibt 1. Also ist richtig:
32**(1/5.0)
import math math.sqrt(n)
Das gilt nur fuer die zweite Wurzel (sqrt ist die Kurzform fuer 'square root'). gruss Marcus ------------------------------ Message: 6 Date: Thu, 30 Jun 2005 17:59:10 +0200 From: Benjamin Kaminski <BeKaminski@web.de> Subject: Re: [Python-de] Re: Wurzel ziehen To: python-de@python.net Message-ID: <706620409@web.de> Content-Type: text/plain; charset=iso-8859-1 Hallo,
Mit etwas Mathematik: n-te Wurzel aus x == x hoch 1/n
so schlau war ich auch schon. Aber wenn man sich unter http://de.wikipedia.org/wiki/Potenz_%28Mathematik%29 das Beispiel im Abschnitt nicht ganzzahlige Exponenten ansieht, dann funktioniert es nicht mehr, oder steh ich aufm schlauch? Vielen Dank ________________________________________________________________________ _ Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179 ------------------------------ Message: 7 Date: Thu, 30 Jun 2005 19:01:31 +0200 From: <michel.koller@globonet.ch> Subject: [Python-de] HTML-Datei auslesen, ändern, schreiben der Code ist onBlock To: <python-de@python.net> Message-ID: <000701c57d95$5d4db520$6e00a8c0@globonet.internal> Content-Type: text/plain; charset="iso-8859-1" Guten Tag Ich schreibe ein Skript welches eine HTML-Datei öffnet, ausliesst nd bei allen IMG-Tags das Attribut alt mit Text erweitert. Das funktioniert ganz gut, aber bei der neugeschriebene Datei ist der HTML-Code danch ganz am Block, alle Leeren Zeilen und Leerzeichen sind verschwunden. Ich möchte aber das die Datei danach gleich aussieht wie bevor Sie gelesen wurde. Ich vermute das ich da was mit dem Schreiben der Datei nicht richtig mache, weis aber nicht was Was mache ich da Falsch? def OnAlt(self, event): for file in DirectoryWalker("."): try: html = open(file).read() parser = aHTMLParser() parser.feed(html) parser.close() html = parser.res open(file, 'w').write(html) print file except: print "diese datei konnte nicht geöffnet werden" print "fertig mit alt ändern" Danke für jede Hilfe Michel Koller Web Developer dipl.Webmaster ZBW ----------------------------------------- GLOBONET GmbH Tel +41 (0)71 914 44 00 Fax +41 (0)71 914 44 19 Email <mailto:michel.koller@globonet.ch> michel.koller@globonet.ch URL <http://www.globonet.ch> www.globonet.ch ----------------------------------------- -------------- nächster Teil -------------- Ein Dateianhang mit HTML-Daten wurde abgetrennt... URL: http://starship.python.net/pipermail/python-de/attachments/20050630/25da 900f/attachment-0001.htm ------------------------------ Message: 8 Date: Thu, 30 Jun 2005 19:38:40 +0200 From: "Diez B. Roggisch" <deets@web.de> Subject: Re: [Python-de] HTML-Datei auslesen, ändern , schreiben der Code ist onBlock To: python-de@python.net Message-ID: <200506301938.40501.deets@web.de> Content-Type: text/plain; charset="iso-8859-1" Am Thursday, 30. June 2005 19:01 schrieb michel.koller@globonet.ch:
Guten Tag
Ich schreibe ein Skript welches eine HTML-Datei öffnet, ausliesst nd bei allen IMG-Tags das Attribut alt mit Text erweitert. Das funktioniert ganz gut, aber bei der neugeschriebene Datei ist der HTML-Code danch ganz am Block, alle Leeren Zeilen und Leerzeichen sind verschwunden. Ich möchte aber das die Datei danach gleich aussieht wie bevor Sie gelesen wurde.
Ich vermute das ich da was mit dem Schreiben der Datei nicht richtig mache, weis aber nicht was
Was mache ich da Falsch?
def OnAlt(self, event): for file in DirectoryWalker("."): try: html = open(file).read() parser = aHTMLParser() parser.feed(html) parser.close() html = parser.res open(file, 'w').write(html) print file except: print "diese datei konnte nicht geöffnet werden" print "fertig mit alt ändern"
Das ist zwar Code und damit ein guter Start -- aber da wir weder wissen was aHTMLParser() zurückgibt kann man dazu nix sagen. Aber generell schon: Der whitespace zwischen html tags (heisst auch "insignifikant") wird von xml/html-parsern gerne überlesen bzw. nur auf "Anfrage" rausgegeben. Denn er ist eben unerheblich in allen Tags, die kein #PCData oder ähnliches erlauben. Wenn dein Problem ist das du wieder lesbarkeit herstellen willst, dann besteht die einfache Lösung darin deinen generierten code duch einen html pretty-printer zu jagen. Davon gibt's genug, google hilft wie immer. Wenn es aber _genau_ der whitespace sein soll, dann musst du das deinem Parser mitteilen - dazu müssen wir aber wissen, was dein parser genau ist. MfG Diez ------------------------------ _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de Ende python-de Nachrichtensammlung, Band 26, Eintrag 29 ******************************************************* _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de