给数字加括号,变成坐标的形式

用按键精灵录了下键盘和鼠标的操作,录制的内容如下:

KeyDown "S", 1
Delay 20
Delay 33
KeyDown "E", 1
Delay 17
KeyDown "S", 1
Delay 26
Delay 14
KeyDown "S", 1
Delay 12
KeyUp "E", 1
Delay 46
KeyDown "S", 1
Delay 21
Delay 33
KeyDown "1", 1
Delay 15
KeyDown "S", 1

我想要把它转为大漠的命令。

如果利用txt或者word一个个地替换,对于每次都不相同的数字,显然行不通。

于是就想到了正则表达式。

尝试了一下,果然可以。

转换后的结果是这样的:

time.sleep(1128)
dm.LeftDoubleClick()
time.sleep(61)
dm.MoveTo(1334, 550)
time.sleep(1971)
dm.KeyDownChar("S")
time.sleep(66)
dm.KeyDownChar("Tab")
time.sleep(73)
dm.KeyUpChar("Tab")
time.sleep(304)
dm.KeyDownChar("3")
time.sleep(56)
dm.KeyUpChar("3")
time.sleep(17)
dm.KeyDownChar("S")
time.sleep(25)
time.sleep(29)
dm.KeyDownChar("S")
time.sleep(30)

主要是给函数加上括号,以方便在python运行。

还有就是替换一下函数的名称。

代码如下:

import re

text = r'C:\Users\caogu\Desktop\挂机录屏.txt'
text2 = r'C:\Users\caogu\Desktop\挂机录屏2.txt'
# 读取文件
with open(text, "r", encoding="GBK") as file:
    content = file.read()
    print(content)

# 替换文本中的数字,坐标加括号
content = re.sub(r'(\d+), (\d+)', r'(\1, \2)', content)
# 修改Delay 9065
content = re.sub(r'Delay (\d+)', r'time.sleep(\1)', content)

# 替换鼠标命令
content = re.sub('MoveTo ', 'dm.MoveTo', content)

content = re.sub('LeftUp 1', 'dm.LeftUp()', content)
content = re.sub('LeftDown 1', 'dm.LeftDown()', content)

content = re.sub('LeftDoubleClick 1', 'dm.LeftDoubleClick()', content)

content = re.sub('RightUp 1', 'dm.RightUp()', content)
content = re.sub('RightDown 1', 'dm.RightDown()', content)

content = re.sub('LeftClick 1', 'dm.LeftClick()', content)
content = re.sub('RightClick 1', 'dm.RightClick()', content)

# 替换键盘命令
# \w+表示匹配任意数量的英文字母
content = re.sub(r'KeyUp "(\w+)", 1', r'dm.KeyUpChar("\1")', content)
content = re.sub(r'KeyUp "(\d+)", 1', r'dm.KeyUpChar("\1")', content)

content = re.sub(r'KeyDown "(\w+)", 1', r'dm.KeyDownChar("\1")', content)
content = re.sub(r'KeyDown "(\d+)", 1', r'dm.KeyDownChar"("\1")', content)

# 写入文件
with open(text2, "w", encoding="utf-8") as file:
    print(content)
    file.write(content)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏悠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值