关于设计一个群发短信的小程序
写这个小程序是因为我身边的一些朋友在做一些工作时经常需要群发一些短信,这些短信往往是“你好!XXX,感谢你……”在除了名字XXX不一样其他内容相同的情况下,我的朋友经常要反复的敲入短信接收者的手机号,并修改名字,然后发送,不忍心看着他们做这么脑残的工作,便用python设计了这么一个简短的小程序。
你首先要有
- xlrd (通过pip install xlrd安装)
- 安装了QPython3L的安卓系统手机
- 一个将短信接受者的姓名电话分列存储的excel表
接下代码如下:
import xlrd
#请给你的python 装上xlrd工具
inpath = r'C:\Users\Lenovo\Desktop\test.xlsx'#excel文件所在路径
outpath= r'C:\Users\Lenovo\Desktop\test.txt' #txt文件所在路径
user_dic = {}
def extract(path):
data = xlrd.open_workbook(path, encoding_override='utf-8')
table = data.sheets()[0]#选定表
nrows = table.nrows#获取行号
for i in range(1, nrows):
alldata = table.row_values(i)#循环输出excel表中每一行,即所有数据
name = str(alldata[0]) #取出列表中的第一列数据
telephonenumber = str(int(alldata[1]))#取出表中第二列数据
user_dic[name] = telephonenumber
extract(inpath)
with open(outpath,'w') as file_object:
file_object.write('#-*-coding:utf8;-*-'+'\n'
+'#qpy:3'+'\n'+
'#qpy:console'+'\n'+
'from sl4a import *'+'\n'+
's = Android().smsSend'+'\n'
)
for name_needed , num in user_dic.items():
file_object.write('s'+'('+"'"+num+"'"+","+"'你好!"+name_needed+",内容'"+')'+'\n')
注意其中inpath路径是excel路径,outpath指向的txt是用来存最终生成的用来在手机的QPython3L上跑的代码用的。
alldata[num]中的num是用来指示读取的相应的列数
for i in range(1,nrows)
以上range()中的第一个参数指示列表从哪一行开始读,1表示第二行。
短信的内容在file_object.wirte()中的"内容”两字删去然后写上相应的内容即可。
比如我的excel是这样的,那么读出来的代码是这样的
#-*-coding:utf8;-*-
#qpy:3
#qpy:console
from sl4a import *
s = Android().smsSend
s('156','你好!Eric,内容')
s('191','你好!Lily,内容')
s('191','你好!新为,内容')
s('138','你好!雨晴,内容')
s('139','你好!艾尼,内容')
s('130','你好!小明,内容')
s('189','你好!张三,内容')
放到手机QPython3L上跑一遍就行了,发送短信的号码是运行手机的号码。