Python – How to Replace String in File?

Python – Replace String in File

To replace a string in File using Python, follow these steps:

  1. Open input file in read mode and handle it in text mode.
  2. Open output file in write mode and handle it in text mode.
  3. For each line read from input file, replace the string and write to output file.
  4. 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()
Copy

What have we done here?

  1. Open data.txt in read text rt mode and get the reference to fin.
  2. Open out.txt in write text wt mode and get the reference to fout.
  3. for line in fin :for each line in fin i.e., data.txt, line.replace(): replaces string pyton with python and fout.write: writes to out.txt.
  4. fin.close(): closes the file referenced by fin, fout.close(): closes the file referenced by fout.

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()
Copy

What have we done here?

  1. Open file data.txt in read text mode rt.
  2. fin.read() reads whole text in data.txt to the variable data.
  3. data.replace() replaces all the occurrences of pyton with python in the whole text.
  4. fin.close() closes the input file data.txt.
  5. In the last three lines, we are opening data.txt in write text wt mode and writing the data to data.txt in replace mode. Finally closing the file data.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.

Related Tutorials

Code copied to clipboard successfully 👍