Jak wyszukiwać i zamieniać tekst w pliku za pomocą Python 3?
Oto mój kod:
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...' )
Plik wejściowy:
hi this is abcd hi this is abcd
This is dummy text file.
This is how search and replace works abcd
Kiedy szukam i zastępuję „ram” przez „abcd” w powyższym pliku wejściowym, działa to jako urok. Ale kiedy robię to na odwrót, tj. Zastępując „abcd” przez „ram”, niektóre śmieciowe postacie pozostają na końcu.
Zamiana „abcd” na „ram”
hi this is ram hi this is ram
This is dummy text file.
This is how search and replace works rambcd