赞
踩
- # 导入模块
- import threading
- import time
- import keyboard
先写两个主要的函数出来:
- # 这个是用来将txt中的内容输出到输入框的函数,可以是多种语言
- def write(txt):
-
- for i in txt:
- keyboard.write(i)
- time.sleep(0.1)
- # 判断是否要停止
- with open("1.txt", "r") as f:
- if f.read()=="False":
- break
- #这个是模拟键盘输入的函数,这里用于钢琴模拟器的脚本
- def base(x):
- keyboard.send(x)
- # 同:
- # keyboard.press(x)
- # keyboard.release(x)
-
- #这个是每个按键之间的间隔时间,可以自己调整
- time.sleep(0.1)
考虑到可以要中途停止,所以在定义一个用来停止代码的函数:
- def stop():
- with open("1.txt","w") as f:
- f.write("True")
- #这里我设置的是“F8”,因为这个按键不算常用
- keyboard.wait("f8")
- with open("1.txt","w") as f:
- f.write("False")
- print("stop")
- # 用多线程把stop()挂起来,这样没有收到命令的时候不会影响到主程序运行
- t1=threading.Thread(target=stop)
- t1.start()
- #设置空格为开始按钮
- print("按下空格开始")
- keyboard.wait(" ")
- time.sleep(0.1)
然后用base()函数为基础,加上文件读取和循环的功能就可以得到一个模拟钢琴的脚本代码了:
(刚开始是想要在原神里弹琴用的,但是怕被封号就没有实践,另外说一下如果要在一些游戏中使用需要以管理员身份启动这段代码(要是被封了我不负责))
- def piano(file):
- #从文件中读取乐谱
- with open(file, "r", encoding="UTF-8") as f:
- yp = f.read()
- for i in yp:
- print(i)
- #这里的按键可以按需求自己增加,我这里只写了多来米发梭拉西
- if i == "1":
- i = "T"
- elif i == "2":
- i = "Y"
-
- elif i == "3":
- i = "U"
-
- elif i == "4":
- i = "I"
-
- elif i == "5":
- i = "O"
-
- elif i == "6":
- i = "P"
-
- elif i == "7":
- i = "A"
-
- else:
- i = " "
- base(i)
- with open("1.txt", "r") as f:
- if f.read() == "False":
- break
乐谱的话只要写成这样就可以了,数字是简谱,分隔、停顿可以用其他任何字符来表示
在文本中开始:
暂停:
在模拟钢琴中开始:
复读机:
- #最后,这是一个简单的复读机,可以用来call你那个不回消息的朋友
- def write2(txt,num):
- i = 1
- while i <= int(num):
- for a in txt:
- write(a)
- base(" ")
- for b in str(i):
- base(f"{b}")
- base("Enter")
- i += 1
- with open("1.txt", "r") as f:
- if f.read() == "False":
- break
以此为基础,可以制作一些简单的游戏脚本,或者接入一些数据库来实现简单的qq群机器人什么的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。