Python实例:微信-第二章(多次发送)

Python微信多次自动发送消息

第一章已经实现Python接入微信自动发送一段话

这一章要实现的是较为复杂的效果

  1. 效果一:可以多次或重复发送消息
  2. 效果二:实现每条消息之间间隔一段时间
  3. 效果三:可以选择发送好友、发送内容、发送次数和发送间隔时间

Python代码实现

代码修改

原代码

这一章的代码是在第一章原代码的基础上修改。

from wxauto import *
wx = WeChat()
who = '实验'
message = '这是一条测试信息!'
wx.SendMsg(message, who)
时间代码

先导入time模块,该模块用于控制时间:

import time

def print_message():
    while True:
        print("这是一段测试信息!")
        time.sleep(5)

print_message()

这里需要加一个次数限制,所以要稍稍修改一下,加一个次数限制(防止陷入死循环):

import time

def print_message(times):
    count = 0
    while count < times:
        print("这是一段测试信息!")
        count += 1
        time.sleep(5)

# 设置打印次数
times_to_print = 5
print_message(times_to_print)

把代码结合一下,然后稍微美化一下,就得到最终代码。

import time

def print_message():
    print("这是一段测试信息!")

repeat_count = 0
max_repeat_count = 5

while repeat_count < max_repeat_count:
    print_message()
    time.sleep(5)
    repeat_count += 1

print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time

# 定义一个函数,用于打印指定次数的消息
def print_message():
    # 打印消息
    print("这是一段测试信息!")

# 初始化重复次数计数器
repeat_count = 0
# 设置最大重复次数
max_repeat_count = 5

# 当计数器小于指定次数时,循环执行以下操作
while repeat_count < max_repeat_count:
    # 打印消息
    print_message()
    # 程序暂停 5 秒
    time.sleep(5)
    # 计数器加一
    repeat_count += 1

# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:

交互代码

把时间代码加入一些交互代码,实现可以选择重复内容、重复次数和重复间隔时间;

import time

en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))

def print_message():
    print(en)

repeat_count = 0
max_repeat_count = er

while repeat_count < max_repeat_count:
    print_message()
    time.sleep(es)
    repeat_count += 1

print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time

# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))

# 定义一个函数,用于打印指定次数的消息
def print_message():
    # 打印用户输入的重复内容
    print(en)

# 初始化重复次数计数器
repeat_count = 0
# 设置最大重复次数
max_repeat_count = er

# 当计数器小于指定次数时,循环执行以下操作
while repeat_count < max_repeat_count:
    # 打印消息
    print_message()
    # 程序暂停用户指定的间隔时间
    time.sleep(es)
    # 计数器加一
    repeat_count += 1

# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:

加入修改

以原代码为基础,把时间代码和交互代码加入其中,进行修改,再稍微修饰美化一下;

import time
from wxauto import *

ea = input("请输入发送好友:")
en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))

wx = WeChat()
who = ea
message = en

def print_message():
    wx.SendMsg(message, who)

repeat_count = 0
max_repeat_count = er

while repeat_count < max_repeat_count:
    print_message()
    time.sleep(es)
    repeat_count += 1

print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 导入 wxauto 模块,该模块用于控制微信
from wxauto import *

# 获取用户输入的发送好友
ea = input("请输入发送好友:")
# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))

# 创建一个 WeChat 对象,用于操作微信
wx = WeChat()
# 定义要发送消息的联系人名称
who = ea
# 定义要发送的消息内容
message = en

# 定义一个函数,用于打印指定次数的消息
def print_message():
    # 调用 WeChat 对象的 SendMsg 方法,向指定联系人发送消息
    wx.SendMsg(message, who)

# 初始化重复次数计数器
repeat_count = 0
# 设置最大重复次数
max_repeat_count = er

# 当计数器小于指定次数时,循环执行以下操作
while repeat_count < max_repeat_count:
    # 打印消息
    print_message()
    # 程序暂停用户指定的间隔时间
    time.sleep(es)
    # 计数器加一
    repeat_count += 1

# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:

代码实现效果图:

第二种(for循环)

上面的重复是用while循环,较为复杂;还有一种for循环,这个比较简洁。

时间+交互代码

这里忽略分开步骤,直接一起实现;

import time

en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))

def print_message():
    print(en)

max_repeat_count = er

for _ in range(max_repeat_count):
    print_message()
    time.sleep(es)

print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time

# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))

# 定义一个函数,用于打印指定次数的消息
def print_message():
    # 打印用户输入的重复内容
    print(en)

# 设置最大重复次数
max_repeat_count = er

# 使用 for 循环来重复执行打印消息的操作
for _ in range(max_repeat_count):
    # 打印消息
    print_message()
    # 程序暂停用户指定的间隔时间
    time.sleep(es)

# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:

for循环最终代码

把for循环的时间和交互代码直接替换,然后修改美化一下,得到最终代码。

from wxauto import *
import time

ea = input("请输入发送好友:")
en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))

wx = WeChat()
who = ea
message = en

def print_message():
    wx.SendMsg(message, who)

max_repeat_count = er

for repeat_count in range(max_repeat_count):
    print_message()
    time.sleep(es)

print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 导入 wxauto 模块,该模块用于控制微信
from wxauto import *

# 获取用户输入的发送好友
ea = input("请输入发送好友:")
# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))

# 创建一个 WeChat 对象,用于操作微信
wx = WeChat()
# 定义要发送消息的联系人名称
who = ea
# 定义要发送的消息内容
message = en

# 定义一个函数,用于打印指定次数的消息
def print_message():
    # 调用 WeChat 对象的 SendMsg 方法,向指定联系人发送消息
    wx.SendMsg(message, who)

# 设置最大重复次数
max_repeat_count = er

# 使用 for 循环来重复执行打印消息的操作
for repeat_count in range(max_repeat_count):
    # 打印消息
    print_message()
    # 程序暂停用户指定的间隔时间
    time.sleep(es)

# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:

代码实现效果图:

运行思路

while循环

while循环段代码的运行思路如下:

  • 首先,代码导入了 time 模块和 wxauto 模块。time 模块用于提供时间相关的函数,而 wxauto 模块则用于控制微信。

  • 接着,代码通过 input 函数获取用户输入的发送好友、重复内容、重复次数和间隔时间。

  • 然后,代码创建了一个 WeChat 对象 wx,用于操作微信。

  • 之后,代码定义了一个 print_message 函数,该函数调用 wx.SendMsg 方法,向指定的联系人发送消息。

  • 代码设置了一个最大重复次数 max_repeat_count,并使用 while 循环来重复执行 print_message 函数。

  • 在每次循环中,print_message 函数被调用,向指定的联系人发送消息,然后程序暂停用户指定的间隔时间。

  • 循环中的计数器 repeat_count 每次循环后加一,当 repeat_count 达到 max_repeat_count 时,循环结束。

  • 当达到最大重复次数时,循环结束,程序打印一条结束信息。

总的来说,这段代码的目的是通过 Python 脚本自动向指定的微信联系人发送一条消息,并可以设置发送的次数和间隔时间。

for循环

for循环代码的运行思路如下:

  • 首先,代码导入了 time 模块和 wxauto 模块。time 模块用于提供时间相关的函数,而 wxauto 模块则用于控制微信。

  • 接着,代码通过 input 函数获取用户输入的发送好友、重复内容、重复次数和间隔时间。

  • 然后,代码创建了一个 WeChat 对象 wx,用于操作微信。

  • 之后,代码定义了一个 print_message 函数,该函数调用 wx.SendMsg 方法,向指定的联系人发送消息。

  • 代码设置了一个最大重复次数 max_repeat_count,并使用 for 循环来重复执行 print_message 函数。

  • 在每次循环中,print_message 函数被调用,向指定的联系人发送消息,然后程序暂停用户指定的间隔时间。

  • 当达到最大重复次数时,循环结束,程序打印一条结束信息。

总的来说,这段代码的目的是通过 Python 脚本自动向指定的微信联系人发送一条消息,并可以设置发送的次数和间隔时间。

结束语

在使用这段代码时,请注意以下几点:

  1. 确保你已经安装了 wxauto 模块,并且版本兼容。
  2. 在运行代码之前,确保你的微信已经登录,并且你有权限向指定的联系人发送消息。
  3. 请谨慎使用这段代码,确保你发送的消息内容合法、合规,并且不会对他人造成骚扰或困扰。
  4. 如果你在使用过程中遇到任何问题,请检查你的代码是否正确,或者尝试重新运行代码。
  5. 请勿将这段代码用于任何非法或不道德的目的,否则后果自负。

希望这些提示对你有所帮助,祝你使用愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值