Приветствую. Требуется найти определенную строку, изменить её и записать на место старой в файле. В принципе эта задача решена, однако при записи в файл, вместо записи только новой строки, записывается полное содержимое этого файла с измененной строкой (дописывается в конец). Перерыл документацию, кучу примеров, но так и не понял как действовать в данном случае:
def applyScheme(self):
scheme_path = self.schemePath.text()
with open("/home/sunderland93/config", "r") as f:
lines = f.readlines()
for i in range(len(lines)):
if "set $theme" in lines[i]:
line = lines[i].strip()
new_scheme = line.replace(str(line), 'set $theme ' + str(scheme_path))
with open("/home/sunderland93/config", "r+") as w:
lines2 = w.read()
scheme = lines2.replace(str(line), str(new_scheme))
w.write(scheme)