У меня есть база данных:
Как вы можете видеть в столбце '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 в окне сообщения для вызывающего символа
Acter. Если в данный момент на экране нет окна, t
Выполнение сценария закончится.
Как видно из приведенного выше примера выходных данных, при разбиении некоторые символы обрезаются в среднем слове. Учитывая тот факт, что строки могут быть любой длины между скажем ... всего 20 символов и до 190 строк, и я хочу разбить строку на куски, скажем ... 8 слов каждая из-за нехватки места, как бы я пошел об этом?