环境:Windows、python3.6、itchat库
代码参考于奇幻果园。
itchat使用需要事先下载安装,命令如下: pip install itchat
这个代码的作用就是在指定时间给微信好友发送信息,并且可以间隔特定时间再次发送,类似于短信轰炸?学习!嗯,用来学习。
有些地方需要注意下:
1、第11行判断时间是否到达指定时间处,因为now = datetime.datetime.now()
返回的时间精确到了ms, 所以直接拿精确到s的特定时间去比较会出现False。所以改用判断时间是否在范围内。并且判断完后会用time.sleep(2)
延时2s再次比较,避免多次命中或多次判断。
2、第17行内,每次时间判断满足指定时间范围时,将指定时间往后延一定时间。这里+ datetime.timedelta(hours=24)
表示延后24小时,达到每过24小时触发一次send_move
函数的目的。
3、第28行内,itchat.auto_login(hotReload=True)
如注释说明的一样,避免每次都要扫描二维码登录,在登录一次之后”保持在线状态”
4、第27行,if __name__=='__main__':
表示当前模块仅在自己运行时才运行后续的语句,否则当该模块被其他模块引用时,不会运行后续语句。每个模块都有__name__
属性,当它等于__main__
时,表示该模块被用户单独运行,可以执行特殊的操作。
5、第30行,注意一下这里的print
函数对sched_time
字符串的使用方式。为了按照一般时间格式打印输出,对sched_time
进行了format
格式化处理,我理解就是保持sched_time
原本的时间形式不变,而按照字符串的方法进行处理。这里用{0}来表示格式化后的sched_time
,让其能够以原来时间格式与前面待打印的字符串进行字符串拼接。