2016-04-07 10 views
-2

Ich möchte alle Zeilen in einer Datei smart.txt löschen und dann einige eigene Strings hinzufügen. smart.txt enthält viele Zeilen.Wie lösche ich alle Zeilen nach einer bestimmten Zeichenfolge in einer Datei und füge dann weitere Zeilen mit Python hinzu

versuchte ich

import sys 
import os 

output=[] 
f= open(smart.txt, 'r') 
for line in f: 
output.append(line) 
if '*** P R O P E R T I E S ***' in line: break 
f=open(smart.txt, 'w') 
[f.write(data) for data in output] 
f.write('*** Inclusions ***\n ') 
f.write('*** Permanent ***\n ') 
f.close() 

ich eine Störung erhalte

f= open(smart.txt, 'r') 
NameError: name 'smart' is not defined 

kann nicht herausfinden, weil smart.txt in demselben Verzeichnis befindet.

Irgendwelche Vorschläge?

+0

Sie müssen –

+0

in Anführungszeichen wickeln @all Schau mal, ich das gefunden ... http://stackoverflow.com/questions/4706499/how-do-you-append- to-a-file-in-python? rq = 1 Ich hoffe, Sie verstehen, was ich meine! und schaue die Abonnenten auf diese Frage! ;) –

+0

@PadraicCunningham, was? –

Antwort

1

Sie müssen 'smart.txt' anstelle von smart.txt verwenden, wenn Sie die Datei öffnen. So würden Sie f= open(smart.txt, 'r') zu f= open('smart.txt', 'r') ändern.

Sie sollten auch with open('smart.txt', 'r') as f verwenden, um die Datei automatisch zu schließen, wenn Sie damit fertig sind.

Tutorial auf Datei io: link

Verwandte Themen