¿Cómo busco y reemplazo texto en un archivo usando Python 3?
Aquí está mi código:
import os
import sys
import fileinput
print ("Text to search for:")
textToSearch = input( "> " )
print ("Text to replace it with:")
textToReplace = input( "> " )
print ("File to perform Search-Replace on:")
fileToSearch = input( "> " )
#fileToSearch = 'D:\dummy1.txt'
tempFile = open( fileToSearch, 'r+' )
for line in fileinput.input( fileToSearch ):
if textToSearch in line :
print('Match Found')
else:
print('Match Not Found!!')
tempFile.write( line.replace( textToSearch, textToReplace ) )
tempFile.close()
input( '\n\n Press Enter to exit...' )
Fichero de entrada:
hi this is abcd hi this is abcd
This is dummy text file.
This is how search and replace works abcd
Cuando busco y reemplazo 'ram' por 'abcd' en el archivo de entrada anterior, funciona como un encanto. Pero cuando lo hago al revés, es decir, reemplazando 'abcd' por 'ram', quedan algunos caracteres basura al final.
Reemplazando 'abcd' por 'ram'
hi this is ram hi this is ram
This is dummy text file.
This is how search and replace works rambcd