Почему текстовый файл стирается? Python

def save(v,file,strnum=None):
    path = file
    if strnum ==None:
        sc_any = open(file=path,mode='w')
        sc_any.write(str(v))
        sc_any.close()
    else:
        sc_any = open(file=path,mode='r')
        lit = sc_any.readlines()
        sc_any = open(file=path,mode='w')
        lit[int(strnum)]=str(v)
        sc_any.writelines(lit)
        sc_any.close()

Когда эта функция выполняется, текстовый файл просто стирается, то есть весь файл превращается в "". Как это исправить, может, я что-то упустил? Я не писал до выполнения этой функции ничего, что могло привести к такому результату.


Ответы (1 шт):

Автор решения: MarianD

Вы, наверно, хотите к существующему файлу что-то добавить, а не опять сначала до него записывать (т.е. переписать его).

Когда существующий файл открывается в режиме 'w', он всегда обнуляется, чего вы не хотите. Откройте его вместо того в режиме 'a' (что значит «append», добавить):

sc_any = open(file=path, mode='a')
→ Ссылка