I don't know if this should be obvious to the more tech savvy among us but is there a specific way to read a line out of a text file, then edit it and insert it back into the file in the original location? I have looked on the site but all the solutions I find seem to be for python 2.7.
Below is an example of what I am looking for:
with open example.txt as file:
for line in file:
if myline in file:
In 95% cases, replacing data (e.g. text) in a file usually means
So, a simple code will be:
import os with open(in_path, 'r') as fin: with open(temp_path, 'w') as fout: for line in fin: line.replace('foo', 'fah') fout.write(line) os.rename(temp_path, in_path)
Why not in-place replacements? Well, a file is a fixed sequence of bytes, and the only way to grow it - is to append to the end of file. Now, if you want to replace the data of the same length - no problems. However if the original and new sequences' lengths differ - there is a trouble: a new sequence will be overwriting the following characters. E.g.
original: abc hello abc world replace abc -> 12345 result: 12345ello 12345orld