Python 将字符串切割成多个变量
Python Cutting a string to multiple variables
我正在寻找一种方法 "cut" 来自 html 输入的字符串到 4 个变量中,具体取决于原始字符串的长度。我需要这样做,因为我想在 RaspberryPi LCD 显示器上显示字符串。因为LCD每行只能显示20个字母,所以我想把剩下的字符串放到另一个变量中。
现在我的 Python 代码看起来像这样。
def text1(text):
global TextA
TextA = text
TextA = urllib.request.unquote(TextA)
subprocess.Popen(["espeak", "-vde", TextA])
subprocess.Popen(["python2", "/home/pibot/display.py", TextA])
espeak 部分非常完美。仅当字符串包含少于 20 个字母时显示输出才有效。
所以基本上我只想将 TextA 拆分为 TextA1 TextA2 TextA3 和 TextA4。
我考虑过
if len(TextA) > 20
但我真的不知道如何更进一步。
非常感谢您。
您可以像这样分割字符串:
>>> 'very long string, much longer than 20 characters'[0:20]
'very long string, mu'
您不需要检查字符串是否超过 20 个字符,您总是可以将切片添加到您的子流程语句中:TextA[0:20]
如果字符串短于 20 个字符,则不会触及该字符串。
如果您不需要适当的自动换行,请尝试这样理解:
from math import ceil
str = 'very long string, much longer than maxLength characters.'\
'very long string, much longer than maxLength characters'
maxLength = 20
numStringsOut = int(ceil(len(str)/float(maxLength)))
subStringList = [str[p * maxLength: p * maxLength + maxLength]
for p in range(numStringsOut)]
print(subStringList)
输出:
['very long string, mu', 'ch longer than maxLe', 'ngth characters.very', ' long string, much l', 'onger than maxLength', ' characters']
我正在寻找一种方法 "cut" 来自 html 输入的字符串到 4 个变量中,具体取决于原始字符串的长度。我需要这样做,因为我想在 RaspberryPi LCD 显示器上显示字符串。因为LCD每行只能显示20个字母,所以我想把剩下的字符串放到另一个变量中。
现在我的 Python 代码看起来像这样。
def text1(text):
global TextA
TextA = text
TextA = urllib.request.unquote(TextA)
subprocess.Popen(["espeak", "-vde", TextA])
subprocess.Popen(["python2", "/home/pibot/display.py", TextA])
espeak 部分非常完美。仅当字符串包含少于 20 个字母时显示输出才有效。
所以基本上我只想将 TextA 拆分为 TextA1 TextA2 TextA3 和 TextA4。
我考虑过
if len(TextA) > 20
但我真的不知道如何更进一步。
非常感谢您。
您可以像这样分割字符串:
>>> 'very long string, much longer than 20 characters'[0:20]
'very long string, mu'
您不需要检查字符串是否超过 20 个字符,您总是可以将切片添加到您的子流程语句中:TextA[0:20]
如果字符串短于 20 个字符,则不会触及该字符串。
如果您不需要适当的自动换行,请尝试这样理解:
from math import ceil
str = 'very long string, much longer than maxLength characters.'\
'very long string, much longer than maxLength characters'
maxLength = 20
numStringsOut = int(ceil(len(str)/float(maxLength)))
subStringList = [str[p * maxLength: p * maxLength + maxLength]
for p in range(numStringsOut)]
print(subStringList)
输出:
['very long string, mu', 'ch longer than maxLe', 'ngth characters.very', ' long string, much l', 'onger than maxLength', ' characters']