nnikolyaa
@nnikolyaa

Как убрать лишнее в split?

def set_chat_txt_setting(peid, number_text, text_chat):
    settings_massive=['text_hello','text_goodbye','text_kick']
    massnum=int(number_text-1)
    text_prosto_debag=text_chat
    print(str(text_prosto_debag))
    with sq.connect('users.db') as con:
        cur = con.cursor()
        print("Изменяется... "+str(settings_massive[massnum])+" "+str(number_text)+" "+str(text_chat))
        cur.execute("UPDATE chats SET "+str(settings_massive[massnum])+" = "+str(text_chat)+" WHERE chat_id="+str(peid)+"")
        con.commit()
        print("Изменено!")

У меня есть такая запись. В итоге text_chat получается следующим:
['привет', 'лошок']
Проблема в том что sqlite3 жалуется на [] и ''. Метод с обрезкой теста отпадает так как так как в начале есть переменная значение которой указывает пользователь.
Вопрос: Как избавиться от [] '' что всё осталось с пробелами?
  • Вопрос задан
  • 175 просмотров
Решения вопроса 2
shabelski89
@shabelski89
engineer
нужно правильно использовать f-строки
settings_massive=['text_hello','text_goodbye','text_kick']
massnum = 1
number_text = 5
text_chat = 777
print(f"Изменяется... {settings_massive[massnum]} {number_text} {text_chat}")
#Изменяется... text_goodbye 5 777
Ответ написан
shurshur
@shurshur
Нужно использовать плейсхолдеры:

cur.execute("UPDATE chats SET "+str(settings_massive[massnum])+"=? WHERE chat_id=?", (str(text_chat), peid))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы