当前位置:   article > 正文

python 模拟键盘输入:以钢琴模拟器脚本与模拟中文输入为例_python模拟键盘输入中文

python模拟键盘输入中文

用到的库:keyboard,threading,time

代码:

  1. # 导入模块
  2. import threading
  3. import time
  4. import keyboard

先写两个主要的函数出来:

  1. # 这个是用来将txt中的内容输出到输入框的函数,可以是多种语言
  2. def write(txt):
  3. for i in txt:
  4. keyboard.write(i)
  5. time.sleep(0.1)
  6. # 判断是否要停止
  7. with open("1.txt", "r") as f:
  8. if f.read()=="False":
  9. break
  1. #这个是模拟键盘输入的函数,这里用于钢琴模拟器的脚本
  2. def base(x):
  3. keyboard.send(x)
  4. # 同:
  5. # keyboard.press(x)
  6. # keyboard.release(x)
  7. #这个是每个按键之间的间隔时间,可以自己调整
  8. time.sleep(0.1)

考虑到可以要中途停止,所以在定义一个用来停止代码的函数:

  1. def stop():
  2. with open("1.txt","w") as f:
  3. f.write("True")
  4. #这里我设置的是“F8”,因为这个按键不算常用
  5. keyboard.wait("f8")
  6. with open("1.txt","w") as f:
  7. f.write("False")
  8. print("stop")
  9. # 用多线程把stop()挂起来,这样没有收到命令的时候不会影响到主程序运行
  10. t1=threading.Thread(target=stop)
  11. t1.start()
  12. #设置空格为开始按钮
  13. print("按下空格开始")
  14. keyboard.wait(" ")
  15. time.sleep(0.1)

然后用base()函数为基础,加上文件读取和循环的功能就可以得到一个模拟钢琴的脚本代码了:

(刚开始是想要在原神里弹琴用的,但是怕被封号就没有实践,另外说一下如果要在一些游戏中使用需要以管理员身份启动这段代码(要是被封了我不负责))

  1. def piano(file):
  2. #从文件中读取乐谱
  3. with open(file, "r", encoding="UTF-8") as f:
  4. yp = f.read()
  5. for i in yp:
  6. print(i)
  7. #这里的按键可以按需求自己增加,我这里只写了多来米发梭拉西
  8. if i == "1":
  9. i = "T"
  10. elif i == "2":
  11. i = "Y"
  12. elif i == "3":
  13. i = "U"
  14. elif i == "4":
  15. i = "I"
  16. elif i == "5":
  17. i = "O"
  18. elif i == "6":
  19. i = "P"
  20. elif i == "7":
  21. i = "A"
  22. else:
  23. i = " "
  24. base(i)
  25. with open("1.txt", "r") as f:
  26. if f.read() == "False":
  27. break

乐谱的话只要写成这样就可以了,数字是简谱,分隔、停顿可以用其他任何字符来表示

效果:

在文本中开始:

暂停:

在模拟钢琴中开始:

复读机:

  1. #最后,这是一个简单的复读机,可以用来call你那个不回消息的朋友
  2. def write2(txt,num):
  3. i = 1
  4. while i <= int(num):
  5. for a in txt:
  6. write(a)
  7. base(" ")
  8. for b in str(i):
  9. base(f"{b}")
  10. base("Enter")
  11. i += 1
  12. with open("1.txt", "r") as f:
  13. if f.read() == "False":
  14. break

以此为基础,可以制作一些简单的游戏脚本,或者接入一些数据库来实现简单的qq群机器人什么的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/537869
推荐阅读
相关标签
  

闽ICP备14008679号