首先,不墨迹,上屎山
import time
from pynput import keyboard
keycode = None
writeFile = False
def on_press(key):
i = 0
'按下按键时执行。'
try:
global keycode
keycode = key.char
# while keycode == key.char:
# time.sleep(1)
# print(i+1)
except AttributeError:
print('special key {0} pressed'.format(
key))
def on_release(key):
'松开按键时执行。'
global keycode
keycode = None
global writeFile
writeFile = True
if key == keyboard.Key.esc:
return False
upkey = " "
key_down_time = 0
key_up_time = 0
python_file = "hello_world.py"
with keyboard.Listener(
on_press=on_press,
on_release=on_release) as listener:
with open(python_file, "w") as f:
f.write("import time\n")
f.write("import pyautogui\n")
while keycode is not "esc":
while keycode is not None:
if keycode is not None and upkey is not keycode:
f.write("time.sleep(" + key_up_time.__str__() + ")\n")
upkey = keycode
elif upkey == keycode:
key_down_time = key_down_time + 0.01575
time.sleep(0.005)
key_up_time = 0
if upkey is not " " and writeFile:
f.write("pyautogui.keyDown('" + upkey + "')\n")
f.write("time.sleep(" + key_down_time.__str__() + ")\n")
f.write("pyautogui.keyUp('" + upkey + "')\n")
writeFile = False
key_down_time = 0
else:
time.sleep(0.005)
key_up_time = key_up_time + 0.01575
listener.join()
代码效果:
运行后,逐键输入即可(不可一次按多键);
运行完成后,会生成hello_world.py文件;
运行hello_world.py文件,可以重复录入操作。
缺点:
需手动点击停止
不能录入鼠标操作
不能录入字母以外按键
读秒有些许误差
需要pip的包:
pip install pynput
pip install pyautogui
参考:
(7条消息) python——实现鼠标与键盘监听与事件处理_python检测鼠标点击_lidashent的博客-CSDN博客
(7条消息) 用Python代码自己写Python代码,竟如此简单_python怎么写代码_小斌哥ge的博客-CSDN博客