Разделение строки переменной длины на несколько частей в python

У меня есть база данных:

Как вы можете видеть в столбце '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 слов в каждой из-за ограничений пространства, как бы я пошел об этом?

7
задан Holger Just 15 January 2012 в 23:12
поделиться