Comment rechercher et remplacer du texte dans un fichier?

Comment puis-je rechercher et remplacer du texte dans un fichier à l'aide de Python 3?

Voici mon code:

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...' )

Fichier d'entrée:

hi this is abcd hi this is abcd
This is dummy text file.
This is how search and replace works abcd

Quand je fais une recherche et remplacer 'ram' par 'abcd' ci-dessus dans le fichier d'entrée, il fonctionne comme un charme. Mais quand je le fais vice-versa, c'est à dire de remplacer "abcd" par "ram", certains caractères indésirables sont laissés à la fin.

En remplaçant 'abcd' par 'ram'

hi this is ram hi this is ram
This is dummy text file.
This is how search and replace works rambcd
  • Pouvez-vous être un peu plus précis quand tu dis "certains caractères indésirables sont laissés à la fin", que voyez-vous?
  • Mise à jour à la question de la sortie de ce que j'ai.
  • modifier le fichier texte à l'aide de Python
InformationsquelleAutor Shriram | 2013-06-17