python 模拟键盘输入:以钢琴模拟器脚本与模拟中文输入为例
生活随笔
收集整理的這篇文章主要介紹了
python 模拟键盘输入:以钢琴模拟器脚本与模拟中文输入为例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用到的庫:keyboard,threading,time
代碼:
# 導入模塊 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 = 1while i <= int(num):for a in txt:write(a)base(" ")for b in str(i):base(f"{b}")base("Enter")i += 1with open("1.txt", "r") as f:if f.read() == "False":break以此為基礎,可以制作一些簡單的游戲腳本,或者接入一些數據庫來實現簡單的qq群機器人什么的
總結
以上是生活随笔為你收集整理的python 模拟键盘输入:以钢琴模拟器脚本与模拟中文输入为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全自动安装的XP补丁包
- 下一篇: ProE 工程图教程系列-4 ProE不