[Python-de] AW: python-de Nachrichtensammlung, Band 26, Eintrag 22

gerhard quell gquell at skequell.de
Don Jun 23 16:21:33 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Michel,

~ vielleicht hilft Dir dieser Ansatz:

def metasundtitleloeschen(dateinamen):
~ quelldatei=open(dateinamen,'r')
~ output=[]
~ for line in quelldatei:
~  output.append(re.sub('<title>.*?</title>','&nbsp;',line)[:-1])
~ quelldatei.close()
~ zieldatei=open(dateinamen,"w")
~ zieldatei.write(lines)
~ zieldatei.close()


Gruß Gerhard
- --------------------
Gerald Klix wrote:
| Hi,
| irgendwie kann ich mir nicht vorstellen, daß durch die Ersetzung
| Leerzeilen enstehen. Du ersetzt ja mit "&nbsp;" und nicht mit "".
|
| Nachdem ein leer String den Wahrheitswert False hat kannst
| du mit strip den Zeilenumbruch entfernen und dann nur
| Zeile mit Inhalt schreiben.
|
| if line.strip():
|  output.append( line )
|
| Das sollte es eigentlich tun.
|
| Ansonsten sie noch der hinweis auf dei Funktion
| "compiler" aus dem "re" modul erlaubt:
| http://docs.python.org/lib/node114.html
|
| HTH,
| Gerald
|
| Privat schrieb:
|
|> Guten tag
|> Ich schreiben die Datei so :
|>
|> def metasundtitleloeschen(dateinamen):
|>     quelldatei=open(dateinamen,'r')
|>     output=[]
|>     for line in quelldatei:
|>        line=re.sub('<title>.*?</title>','&nbsp;',line)
|>        line=re.sub('<TITLE>.*?</TITLE>','&nbsp;',line)
|>        line=re.sub('<META.*?>','&nbsp;',line)
|>        line=re.sub('<meta.*?>','&nbsp;',line)
|>        output.append(line)
|>     zieldatei=open(dateinamen,'w')       zieldatei.writelines(output)
|>     zieldatei.close()
|>
|> Leider hinterlassen die gelöschten Titles und metas leere Zeilen im
|> File, und die bringe ich nicht raus.
|>
|> Danke für jede Hilfe
|>
|> Gruess
|> Michel
|>
|>
|>
|> -----Ursprüngliche Nachricht-----
|> Von: python-de-bounces at python.net [mailto:python-de-bounces at python.net]
|> Im Auftrag von python-de-request at python.net
|> Gesendet: Keines
|> An: python-de at python.net
|> Betreff: python-de Nachrichtensammlung, Band 26, Eintrag 22
|>
|> Um e-Mails an die Liste python-de zu schicken, nutzen Sie bitte die
|> Adresse
|>
|>     python-de at 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 at python.net
|>
|> Sie koennen den Listenverwalter dieser Lister unter der Adresse
|>
|>     python-de-owner at 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. Leere zeile löschen (michel.koller at globonet.ch)
|>    2. Re: Leere zeile löschen (Gerald Klix)
|>
|>
|> ----------------------------------------------------------------------
|>
|> Message: 1
|> Date: Tue, 21 Jun 2005 20:20:03 +0200
|> From: <michel.koller at globonet.ch>
|> Subject: [Python-de] Leere zeile löschen
|> To: <python-de at python.net>
|> Message-ID: <000501c5768d$d9175b20$6e00a8c0 at globonet.internal>
|> Content-Type: text/plain; charset="iso-8859-1"
|>
|> Guten Tag
|>
|> Ich habe eine HTML-Datei die ich auslese und mit :
|> re.sub('<title>.*?</title>','',line) den Titel herausselektiere und
|> dann die datei wieder schreibe, ohne Titel.
|>
|> Das Problem ist dort wo vorher der Titel war, ist jetzt eine leere
|> Zeile vorhanden die ich gelöscht haben möchte, zuerst dachte ich die
|> kann man ersetzen mit einem Zeilenrückschub, und habe meinen Befehl so
|> angepasst das der Titel durch einen Zeilenrückschub „\r“ ersetzt wird
|> also :
|>
|> re.sub('<title>.*?</title>','\r',line)
|>
|> Das funktioniert leider nicht dort wo der Rückschub stattfinden sollte
|> steht nun ein kleines komisches ViereckSymbol, und die Zeile ist immer
|> noch präsent.
|>
|> Kann mir jemand sagen wie ich eine einzelne leere Zeile löschen kann?
|>
|> Vielen Dank für Hilfe
|> Michel Koller
|> -------------- nächster Teil --------------
|> Ein Dateianhang mit HTML-Daten wurde abgetrennt...
|> URL:
|> http://starship.python.net/pipermail/python-de/attachments/20050621/45e1
|> e089/attachment.html
|>
|> ------------------------------
|>
|> Message: 2
|> Date: Wed, 22 Jun 2005 10:09:39 +0200
|> From: Gerald Klix <Gerald.Klix at klix.ch>
|> Subject: Re: [Python-de] Leere zeile löschen
|> To: python-de at python.net
|> Message-ID: <42B91CC3.6010705 at klix.ch>
|> Content-Type: text/plain; charset=windows-1252; format=flowed
|>
|> Hallo Michel,
|> wie schreibst Du den die Datei?
|>
|> Mit "print >>myFileObject, line"
|> oder "myFileObject.write( line )"
|> oder "myFileObject.write( wholeContents )"
|>
|> Wenn man das nicht weiss, ists schwer Dir zu helfen.
|>
|> HTH,
|> Gerald
|>
|> michel.koller at globonet.ch schrieb:
|>
|>> Guten Tag
|>>
|>>
|>>
|>> Ich habe eine HTML-Datei die ich auslese und mit :
|>>
|>> re.sub('<title>.*?</title>','',line) den Titel herausselektiere
|>>
|>> und dann die datei wieder schreibe, ohne Titel.
|>>
|>>
|>>
|>> Das Problem ist dort wo vorher der Titel war, ist jetzt eine
|>>
|>> leere Zeile vorhanden die ich gelöscht haben möchte, zuerst
|>>
|>> dachte ich die kann man ersetzen mit einem Zeilenrückschub,
|>>
|>> und habe meinen Befehl so angepasst das der Titel durch einen
|>>
|>> Zeilenrückschub „\r“ ersetzt wird also :
|>>
|>>
|>>
|>> re.sub('<title>.*?</title>','\r',line)
|>>
|>>
|>>
|>> Das funktioniert leider nicht dort wo der Rückschub stattfinden
|>>
|>> sollte steht nun ein kleines komisches ViereckSymbol, und
|>>
|>> die Zeile ist immer noch präsent.
|>>
|>>
|>>
|>> Kann mir jemand sagen wie ich eine einzelne leere Zeile löschen kann?
|>>
|>>
|>>
|>> Vielen Dank für Hilfe
|>>
|>> Michel Koller
|>>
|>>
|>>
|>>
|>
|> ------------------------------------------------------------------------
|>
|>> _______________________________________________
|>> python-de maillist  -  python-de at python.net
|>> http://python.net/mailman/listinfo/python-de
|>
|>
|>
|
|
| ------------------------------------------------------------------------
|
| _______________________________________________
| python-de maillist  -  python-de at python.net
| http://python.net/mailman/listinfo/python-de

- --
- ------------------------------------------------------ skequell ------
~  Gerhard Quell                     Software & Knowledge Engineering
~  Postfach: 1314      eMail:     gquell at skequell.de   Fon: 08282-890631
~  86371 Krumbach      web  : http://www.skequell.de   Fon: 0172-4057876
- ------- pgp: 473EC53C  - http://math-www.uni-paderborn.de/pgp/ -------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.3.92 (GNU/Linux)

iD8DBQFCusVtvHbZD0c+xTwRAtdXAJ43kLHT3GCV6vsMR2GADVq6y037pACdFNg+
E/K1/45fzhFvfmOppVUH6TM=
=ogN2
-----END PGP SIGNATURE-----