<p>我有一个代码,它是用来在20x2液晶显示器上显示一些文本的:</p>
<pre><code>#!/usr/bin/python
LCDCHARS = 20
LCDLINES = 2
def WriteLCD(text_per_LCD):
chunked = (text_per_LCD[i:LCDCHARS+i] for i in range (0, len(text_per_LCD), LCDCHARS))
count_l = 0
for text_per_line in chunked:
# print will be replaced by actual LCD call
print (text_per_line)
count_l += 1
if count_l >= LCDLINES:
# agree to lose any extra lines
break
WriteLCD("This text will display on %s LCD lines" % (LCDLINES))
</code></pre>
<p>将输出示例字符串</p>
^{pr2}$
<p>我该怎么做才能在不破坏单词的情况下拆分字符串?即使第二行变长并退出显示。在</p>
<p>我在<a href="https://stackoverflow.com/questions/6632530">javascript section</a>上读到了一个类似的问题,而在<a href="https://stackoverflow.com/questions/24871475">ruby section</a>中又读到了另一个问题,但我无法将给出的答案翻译成我的Python案例。在</p>
<p>使用<a href="https://docs.python.org/2/library/textwrap.html">^{<cd1>}</a>模块:</p>
<pre><code>>>> textwrap.wrap("This text will display on 3 LCD lines", 20)
['This text will', 'display on 3 LCD', 'lines']
</code></pre>