У меня есть файл и нужно вывести текст из него. В строках, в которых больше 80 символов нужно выделять символы (до последнего пробела) и присоединять его уже к следующей строке, что бы в текущей строке оставалось 80 символов или меньше. Файл я считываю, определяю окончание строки и пытаюсь присоединить его к началу следующей, но у меня окончание образуется другую строку, а следующая начинается как обычно.
Мой код:
with open ('C://Users//telel//Desktop//text.txt', 'r', encoding='utf-8') as dataset:
rad = []
last = ''
lst = dataset.readlines()
for s in lst:
i = last + ' ' + s
if len(i)>=80:
for j in range(len(i)-1, 0, -1):
if i[j] == ' ' and len(i[:j])<=80:
print(i[:j])
last = i[j+1:]
break
else:
print(i, end='')
last = ''
if last != '':
print(last)
То, что должно выводить:
Воспитанные люди должны удовлетворять следующим условиям:
… Они уважают человеческую личность, всегда снисходительны, мягкие, вежливые,
уступчивые… … Они уважают чужую собственность, а потому платят долги.
… Не лгут даже в пустяках… Они не лезут с откровенностями, когда их не спрашивают..
..… Они не унижают себя с тою целью, чтобы вызвать в другом сочувствие…
… Они не суетны…
… Если имеют в себе талант, то уважают его… Они жертвуют для него всем…
… Они воспитывают в себе эстетику*…
… Тут нужны беспрерывные дневной и ночной труд, вечное чтение, воля… Тут дорог
каждый час.
Что выводит:
… Они уважают человеческую личность, всегда снисходительны, мягкие, вежливые,
уступчивые…
… Они уважают чужую собственность, а потому платят долги.
… Не лгут даже в пустяках… Они не лезут с откровенностями, когда их не
спрашивают…
… Они не унижают себя с тою целью, чтобы вызвать в другом
сочувствие…
… Они не суетны…
… Если имеют в себе талант, то уважают его… Они жертвуют для него всем…
… Они воспитывают в себе эстетику*…
… Тут нужны беспрерывные дневной и ночной труд, вечное чтение, воля… Тут дорог
каждый час.