Python 拆分短信回复

Python 拆分短信回复,python,sms,Python,Sms,回复短信时,我的限制是160个字符。目前,我已经设置了代码来获取回复(可以大于160),并将其拆分为一个包含多个文本的列表,每个文本长度为160英尺 文本=[] words=repl.split() curtext=“” 用文字表示: #对于第一个单词,删除空格 如果len(curtext)==0: curtext+=字 #检查当前消息中是否有足够的空间 elif len(curtext)reply=“要发送的文本…” 文本=[] 计数=0 当前文本=[] 对于答复中的word.split():

回复短信时,我的限制是160个字符。目前,我已经设置了代码来获取回复(可以大于160),并将其拆分为一个包含多个文本的列表,每个文本长度为160英尺 文本=[] words=repl.split() curtext=“” 用文字表示: #对于第一个单词,删除空格 如果len(curtext)==0: curtext+=字 #检查当前消息中是否有足够的空间 elif len(curtext)
reply=“要发送的文本…”
文本=[]
计数=0
当前文本=[]
对于答复中的word.split():
如果计数+len(单词)<(160如果len(文本)%2==0其他(160-17)):
当前文本追加(word)
计数+=(len(字)+1)
其他:
计数=0
如果len(文本)%2!=0):
#奇数文本获取附加消息。。。
text.append(“.join(当前_文本)+”\n更多信息请参见m”)
其他:
text.append(“.”join(当前文本))
当前文本=[]
def短信计算器(短信文本):
sms_lst=[]
如果len(msg_text)==0:
返回sms_lst
l_m_text=(msg_text.split())
如果len(最大值(l_m_文本,key=len))>160:
返回sms_lst
sms_字符串=l_m_文本[0]
对于范围(1,len(l_m_文本))中的i:
如果len(sms_字符串+“”+l_m_文本[i])<160:
sms_字符串=sms_字符串+“”+l_m_文本[i]
其他:
sms_lst.append(sms_字符串)
sms_字符串=l_m_文本[i]
sms_lst.append(sms_字符串)
返回sms_lst

您是否试图阻止邮件发送,除非收件人要求发送?是。我不想回复太多的文本。请小心,您应该了解如何处理连接消息,因为您将无法在每个concat部分发送160个字符。使用的八位字节的确切数量取决于网络,并且可能会有很大的差异。它也可能因您将SMS提交到网络所使用的服务而异,例如:将SMPP直接发送到网络、将第三方API或硬件API发送到调制解调器。SMS_lst.append(SMS_字符串)负责最后一条SMS。此外,如果无法发送有效的SMS,将返回空列表。希望用简单python编写的短信计算器能帮助别人。为什么这里有数字
17
?我也很好奇
repl='message to be sent. may be >160'
texts=[]
words=repl.split()
curtext=''
for word in words:
    #for the first word, drop the space
    if len(curtext)==0:
        curtext+=word

    #check if there's enough space left in the current message
    elif len(curtext)<=155-(len(word)+1):
        curtext+=' '+word

    #not enough space. make a new message
    else:
        texts.append(curtext)
        curtext=word
if curtext!='':
    texts.append(curtext)
return texts
reply = "text to be sent ...."
texts = []

count = 0
current_text = []
for word in reply.split():
   if count + len(word) < (160 if len(texts) % 2 == 0 else (160-17)):
      current_text.append(word)
      count += (len(word) + 1)
   else:
      count = 0
      if len(texts) % 2 != 0):
         #odd-numbered text gets additional message...
         texts.append(" ".join(current_text) + "\nreply m for more")
      else:
         texts.append(" ".join(current_text))
   current_text = []
def sms_calculator(msg_text):
    sms_lst=[]
    if len(msg_text) == 0:
        return sms_lst

    l_m_text = (msg_text.split())
    if len(max(l_m_text, key=len))> 160:
        return sms_lst

    sms_string=l_m_text[0]
    for i in range(1,len(l_m_text)):
        if len(sms_string +' '+ l_m_text[i]) < 160 :
            sms_string=sms_string +' '+ l_m_text[i]
        else:
            sms_lst.append(sms_string)
            sms_string = l_m_text[i]
    sms_lst.append(sms_string)
    return sms_lst