[Python-de] AW: python-de Nachrichtensammlung, Band 26, Eintrag 22
Gerald Klix
Gerald.Klix at klix.ch
Don Jun 23 14:38:31 CEST 2005
Hi,
irgendwie kann ich mir nicht vorstellen, daß durch die Ersetzung
Leerzeilen enstehen. Du ersetzt ja mit " " 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>',' ',line)
> line=re.sub('<TITLE>.*?</TITLE>',' ',line)
> line=re.sub('<META.*?>',' ',line)
> line=re.sub('<meta.*?>',' ',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
>
>
--
GPG-Key: http://keyserver.veridis.com:11371/search?q=0xA140D634