У меня есть база данных:
Как вы можете видеть в столбце 'desc', текст имеет переменную длину (это означает, что никакие две строки, которые я извлекаю из этой базы данных, не будут содержать такой же длины). Со временем я добавлю еще много записей в эту базу данных, но это то, с чем я сейчас тестирую и с чего начинаю.
Прямо сейчас у меня есть следующий код на Python, чтобы захватить эти блоки строки и отобразить их:
cmd = input(Enter command:)
sql = "SELECT cmd,`desc` FROM table WHERE cmd = '"+ cmd +"'"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print("Command: "+ row[0] +":\n")
print("Description: "+ row[1][:40] +"\n")
if (len(row[1]) > 40):
print(row[1][40:85])
if (len(row[1]) > 85):
print(row[1][85:130])
if (len(row[1]) > 130):
print(row[1][130:165])
if (len(row[1]) > 165):
print(row[1][165:])
Разделение здесь работает до некоторой степени, например:
Команда: close:
Описание: Эта команда создаст кнопку «закрыть»
n в окне сообщения для вызывающего символа
актер. Если в данный момент на экране нет окна, t
выполнение скрипта закончится.
Как вы можете видеть в приведенном выше примере вывода, при разделении некоторые символы обрезаются посередине слова. Учитывая тот факт, что строки могут быть любой длины от, скажем, ... 20 символов до 190, и я хочу разбить строку на фрагменты, скажем ... 8 слов в каждой из-за ограничений пространства, как бы я пошел об этом?