Mit Python zu Entfernen Sie Alle Zeilen, Passende Regex

Ich bin versucht, entfernen Sie alle Zeilen, wo meine regex-matches(regex ist einfach auf der Suche für jede Zeile mit yahoo). Jedes Spiel ist auf einer eigenen Zeile, so gibt es keine Notwendigkeit für die multiline-option.

Dies ist, was ich habe, so weit...

import re
inputfile = open('C:\\temp\\Scripts\\remove.txt','w',encoding="utf8")

inputfile.write(re.sub("\[(.*?)yahoo(.*?)\n","",inputfile))

inputfile.close()

Ich erhalte folgende Fehlermeldung:

Traceback (most recent call last):
line 170, in sub
zurück _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string oder buffer

Was ist also das problem?
Sie sind nicht das Lesen der Datei. Man braucht so etwas wie inputfile.readlines()
Sie versuchen, schließen Sie 2 Dateien, die Sie nie geöffnet, und die Benennung einer Datei zum schreiben geöffnet inputfile ist bestenfalls verwirrend.
... und re.sub ist über das ersetzen der passende Inhalt einer Zeichenkette. Nicht die Prüfung, ob ein string match.
Ich bin versucht zu ersetzen die übereinstimmenden Inhalte mit nichts, also "".

InformationsquelleAutor MrMr | 2013-06-20

Schreibe einen Kommentar