Как из списка вырезать все лишнее и каждый элемент записать с новой строки
код записывает его в файл с квадратными скобками и кавычками
# запись новых товаров в отдельный список
f = open('new_elem.txt','w', encoding='utf-8') # открывает файл для записи
json.dump(difference, f, ensure_ascii=False)
f.close()
Он записывает список вот такой
["Белое", "Красное", "Синее" ]
Нужно что бы в файле был вот такой список
Белое,
Красное,
Синее
Ответы (3 шт):
Половина задачи решена. Осталось найти как лишние символы вырезать - кавычки и квадратные скобки
f = open('new_elem.txt','w', encoding='utf-8') # открывает файл для записи
json.dump(difference, f, ensure_ascii=False,indent = 0) # indent = 0 запись в файл каждого элемента с новой строки. 0 - сколько пробелов отступить слева
f.close()
with open('new_elem.txt','w', encoding='utf-8') as f:
print(',\n'.join(difference), file=f)
Не надо использовать модуль json для простой записи элементов списка в файл:
with open('new_elem.txt','w', encoding='utf-8') as f:
f.writelines([d + '\n' for d in difference])
Содержание файла new_elem.txt после хода этой программы:
Белое Красное Синее
Объяснение:
Вместо
open-closeпримененоwith open(контекст менеджер), также файл закроется автоматически.Генератор списка
[d + '\n' for d in difference](читайте с конца) добавит к всякому элементуdиз оригинального спискаdifferenceсимвол перехода на новую строку ('\n'), создавая новый список.Этот новый список записывается в файл методом
.writelines().