как убрать лишние запятые из списка?

у меня есть список 'саа' с командами для голосового помощника но при записи появляются лишние запятые

caa = []
if 'voice_assist_caa.txt' in os.listdir(os.getcwd()):
    path = Path('voice_assist_caa.txt')
    caas = path.read_text()
    print(caas)
    caa = caas.split(',')

else:
    my_file = open("voice_assist_caa.txt", "w", encoding='utf-8')
    my_file.close()

это код для восстановления этого списка

caa.append(name)
caaf = open('voice_assist_caa.txt', 'w')
for element in caa:
    caaf.write(element)
    caaf.write(',')
caaf.close()

это для сохранения списка

после этого появляются лишние запятые в txt файле например:

,включи youtube,https://www.youtube.com,,открой stackoverflow,https://ru.stackoverflow.com/,

а нужно так:

включи youtube,https://www.youtube.com,открой stackoverflow,https://ru.stackoverflow.com/,


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

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

Действия:

  • Регуляркой через шаблон ,{2,} заменяются последовательности запятых, состоящих от 2 подряд идущих запятых, на одну запятую
  • Методом lstrip удаляются запятые слева

Пример:

import re

text = ',включи youtube,https://www.youtube.com,,открой stackoverflow,https://ru.stackoverflow.com/,'

new_text = re.sub(',{2,}', ',', text)
new_text = new_text.lstrip(',')

print(new_text)

Результат:

включи youtube,https://www.youtube.com,открой stackoverflow,https://ru.stackoverflow.com/,
→ Ссылка