Функция open имеет несколько аргументов, такие как:
'w' - write(которая как ты говорил полностью сносит всё что в файле)
'r' - read(читает файл)
'a' - Откроет для добавления нового содержимого.
Это основные, есть ещё и для чтения бинарников, такие как 'wb'
Соответственно можно это реализовать с помощью записи в файл:
r = []
def getList():
r = []
f = open('test.txt','r')
for i in f:
r.append(i.replace('\n', ''))
f.close()
return r
def addFile(v):
f = open('test.txt','a')
f.write(v + '\n')
f.close()
pass
r = getList()
print(r)
v = input('Введите слово/')
r.append(v)
addFile(v)
print(r)
Не забудь создать в директории файл test.txt, или можешь сделать чтобы программа проверяла его на существование и создавала если его нет