How do you replace a line of text in a text file (python)

69,621

Solution 1

import fileinput

for line in fileinput.input('inFile.txt', inplace=True): 
      print line.rstrip().replace('oldLine', 'newLine'),

This replaces all lines with the text 'oldLine', if you want to replace only the first one then you need to add a condition and break out of the loop.

Adding rstrip() avoids adding an extra space after each line

Solution 2

Try this

with open('file', 'r') as input_file, open('new_file', 'w') as output_file:
    for line in input_file:
        if line.strip() == 'to replace':
            output_file.write('new line\n')
        else:
            output_file.write(line)
Share:
69,621
user2396472
Author by

user2396472

Updated on May 12, 2020

Comments

  • user2396472
    user2396472 almost 4 years

    I have a text file that looks like this:

    unknown value 1
    unknown value 2
    unknown value 3
    unknown value 4
    unknown value 5
    

    How can I choose a line and replace its contents with another string?

    For example:

    Change unknown value 1 to unknown value 0.

    How can I accomplish this?