Через модуль ftputil нужно подключиться к ftp, открыть уже существующий файл с записями и в конец этих записей добавить новые
Я использовал для этого модуль ftputil, но столкнулся с проблемой, что он не поддерживает 'a'(append) добавление в файл, а если записывать через 'w' он перезаписывает содержимое.
Вот что пробовал и на этом застопорился:
with ftputil.FTPHost(host, ftp_user, ftp_pass) as ftp_host:
with ftp_host.open("мой_путь_к_файлу_на_сервере", "a") as fobj:
cupone_wr = input('Введи купоны через пробел: ')
cupone_wr = cupone_wr.split(' ')
for x in range(0, len(cupone_wr)):
cupone_str = '<p>Твой купон %s</p>\n' % cupone_wr[x]
data = fobj.write(cupone_str)
print(data)
Задача стоит в том, чтобы оставить старые записи в файле и добавлять в конец файла каждый раз при новом вызове скрипта свежие записи. Очень буду благодарен за помощь!
Ответы (1 шт):
Автор решения: Clark Devlin
→ Ссылка
Чтобы сделать то, что вам требуется нужно сначала прочитать содержимое файла в переменную, а потом записать эту переменную + ваши новые данные в файл.
cupone_wr = 'smth'
with ftputil.FTPHost(host, ftp_user, ftp_pass) as ftp_host:
with ftp_host.open("мой_путь_к_файлу_на_сервере", "r") as fobj:
lines = f.readlines() # считываем строки из файла в список
lines.append(cupone_wr) # добавляем в конец списка ваш купон
with ftp_host.open("мой_путь_к_файлу_на_сервере", "w") as fobj: # открываем файл на запись
for l in lines:
fobj.write(l) # проходя циклом по списку каждую строку записываем в файл