Как отбросить символы в тексте, состоящим из 2000 и более символов, до этих 2000 символов на Python?

Я пытаюсь сделать дискорд бота википедию, который получает запрос и выдаёт ответ исходя из представленной информации. Проблема заключается в том, что некоторые ответы из википедии состоят из количества символов, которое недопустимо в дискорде.

Для запросов из википедии использую вот такой код:

a = wikipedia.summary(input("Введите запрос: "))

А для отбрасывания символов использовал:

print('.'.join(a.split('.')[:-1]))

Этот код для "отбрасывания" не помог... Помогите вы, пожалуйста!


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

Автор решения: CrazyElf
print('.'.join(a.split('.')[:-1]))

Этот ваш код отбрасывает из текста последнее предложение (если считать, что предложения разделены именно точками).

Если хотите взять просто 2000 первых символов, то возьмите соответственный срез от текста:

print(a[:2000])
→ Ссылка
Автор решения: insolor

Обрезать до 2000 символов, потом обрезать до последней точки (убрать последнее незаконченное предложение), или оставить как есть (если точка не нашлась):

# "qwer. tyui. yui".rpartition('.') -> ("qwer. tyui", ".", " yui")
# "qwer tyui yui".rpartition('.') -> ("", "", "qwer tyui yui")
left, dot, right = text[:2000].rpartition('.')  
text = left + dot if left else right  # вернуть left + dot, если в left что-то есть, иначе вернуть right
print(text)
→ Ссылка