from uiautomation import WindowControl, MenuControl import re wx = WindowControl(Name='微信') print(wx) wx.SwitchToThisWindow() hw = wx.ListControl(Name='会话') print('寻找会话控制绑定', hw) # 定义包含数字的列表 numbers = [1234567890, 20000000000, 30000000000] while True: we = hw.TextControl(searchDepth=4) while not we.Exists(8): pass print('查找未读消息', we) if we.Name: we.Click(simulateMove=False) last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name # 这两行代码是最重要的,绑定微信的聊天信息 print('读取最后一条消息', last_msg) new_numbers = [] # 使用正则表达式匹配符合条件的数字 for num in re.findall(r'\b\d{11}\b', last_msg): if int(num) > 10000000000 and int(num) < 20000000000: new_numbers.append(int(num)) # 输出符合条件的数字 print('符合条件的数字:', new_numbers) list2=[] list2.append(last_msg[0]) # 输出结果 print( list2) 我想把last_msg里的一个数搬到list2上对吗
时间: 2024-01-01 14:04:13 浏览: 84
对的,你可以使用`append`方法把`last_msg`中的一个数添加到`list2`中。不过需要注意的是,`last_msg`是字符串类型的消息文本,如果你想要把其中的数字提取出来,需要使用正则表达式进行匹配。以下是实现的代码示例:
```
from uiautomation import WindowControl, MenuControl
import re
wx = WindowControl(Name='微信')
print(wx)
wx.SwitchToThisWindow()
hw = wx.ListControl(Name='会话')
print('寻找会话控制绑定', hw)
# 定义包含数字的列表
numbers = [1234567890, 20000000000, 30000000000]
while True:
we = hw.TextControl(searchDepth=4)
while not we.Exists(8):
pass
print('查找未读消息', we)
if we.Name:
we.Click(simulateMove=False)
last_msg = wx.ListControl(Name='消息').GetChildren()[-1].Name
# 这两行代码是最重要的,绑定微信的聊天信息
print('读取最后一条消息', last_msg)
new_numbers = []
# 使用正则表达式匹配符合条件的数字
for num in re.findall(r'\b\d{11}\b', last_msg):
if int(num) > 10000000000 and int(num) < 20000000000:
new_numbers.append(int(num))
# 输出符合条件的数字
print('符合条件的数字:', new_numbers)
# 把last_msg中第一个符合条件的数字添加到list2中
list2 = []
for num in re.findall(r'\b\d{11}\b', last_msg):
if int(num) > 10000000000 and int(num) < 20000000000:
list2.append(int(num))
break
# 输出结果
print('list2:', list2)
```
这样就可以把`last_msg`中的一个符合条件的数添加到`list2`中了。
阅读全文