Python – Replace String in File with another String
Python – Replace String in File
To replace a string in File using Python, follow these steps:
- Open input file in read mode and handle it in text mode.
- Open output file in write mode and handle it in text mode.
- For each line read from input file, replace the string and write to output file.
- Close both input and output files.
Examples
1. Replace a string in File
Consider that we have a text file with some spelling mistakes. And we have found that the string python
is mis-spelled as pyton
in the file.
In the following example, we will replace the string pyton
with python
in data.txt
file, and write the result to out.txt
.
Python Program
#input file
fin = open("data.txt", "rt")
#output file to write the result to
fout = open("out.txt", "wt")
#for each line in the input file
for line in fin:
#read replace the string and write to output file
fout.write(line.replace('pyton', 'python'))
#close input and output files
fin.close()
fout.close()
What have we done here?
- Open
data.txt
in read textrt
mode and get the reference tofin
. - Open
out.txt
in write textwt
mode and get the reference tofout
. for line in fin
:for each line infin
i.e.,data.txt
,line.replace()
: replaces stringpyton
withpython
andfout.write
: writes toout.txt
.fin.close()
: closes the file referenced byfin
,fout.close()
: closes the file referenced byfout
.
Input File
Welcome to www.pytonexamples.org. Here, you will find pyton programs for all general use cases.
Output File
Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
The string pyton
in the file is replaced with the string python
.
2. Replace string and update the original file
In the following example, we will replace the string pyton with python in data.txt file, and overwrite the data.txt file with the replaced text.
Python Prgoram
#read input file
fin = open("data.txt", "rt")
#read file contents to string
data = fin.read()
#replace all occurrences of the required string
data = data.replace('pyton', 'python')
#close the input file
fin.close()
#open the input file in write mode
fin = open("data.txt", "wt")
#overrite the input file with the resulting data
fin.write(data)
#close the file
fin.close()
What have we done here?
- Open file
data.txt
in read text modert
. fin.read()
reads whole text indata.txt
to the variabledata
.data.replace()
replaces all the occurrences ofpyton
withpython
in the whole text.fin.close()
closes the input filedata.txt
.- In the last three lines, we are opening
data.txt
in write textwt
mode and writing the data todata.txt
in replace mode. Finally closing the filedata.txt
.
Input File
Welcome to www.pytonexamples.org. Here, you will find pyton programs for all general use cases.
The same input file after program execution.
Welcome to www.pythonexamples.org. Here, you will find python programs for all general use cases.
Summary
In this tutorial of Python Examples, we learned to replace a string with other in file, with help of well detailed examples.