Joe;Bloggs;[email protected];0715491874;1
ich geschrieben habe, eine Funktion, die globale Variable originalInfo
enthält gespeichert, um eine Zeile löschen Sie diese Zeile in einer Textdatei mehr löschen Informationen dieser Art enthält. Es funktioniert, aber es ist wirklich klobig und unelegant.
f = open("input.txt",'r') # Input file
t = open("output.txt", 'w') #Temp output file
for line in f:
if line != originalInfo:
t.write(line)
f.close()
t.close()
os.remove("input.txt")
os.rename('output.txt', 'input.txt')
Gibt es eine effizientere Möglichkeit, dies zu tun? Danke
, die im Prinzip sieht okay, aber ich bezweifle, Sie Matches zu bekommen, weil Ihrer 'originalInfo' fehlt der Zeilenumbruch. Ich schlage auch vor, die Eigenschaften des Kontextmanagers der Dateiobjekte zu verwenden. – timgeb
Die einzige Möglichkeit, eine elegante Funktion dafür zu haben, besteht darin, ein besseres Dateiformat zu verwenden. –
Dies scheint ein geeigneterer Job für 'sed' zu sein, wenn diese Option für Sie verfügbar ist. 'sed -i '/ pattern to match/d'./input.txt' – cmh