我正在尝试编写一个基于 python 的键盘和鼠标光标宏
I'm trying to write a python based keyboard&mouse cursor macro
Whosebug 的人们!我刚刚开始我的编码之旅,这似乎是让我想要放弃一切的问题 xD
如果这很简单,我很抱歉,但我真的尝试了所有可能的方法
我正在尝试编写一个宏,它会使用 ctrl 键记住光标在屏幕上的位置,并 return 使用 alt 键将光标移动到该位置。
import pyautogui
from pynput import keyboard
from contextlib import redirect_stdout
def on_press(key):
if key == keyboard.Key.ctrl_l:
print(pyautogui.position())
with open("cf.py", "a") as f:
with redirect_stdout(f):
print((pyautogui.position()))
一切正常,直到我尝试将 cf.py 的输出结果输出到主文件,以便我可以在 alt 宏中使用它们。
from cf import Point
if key == keyboard.Key.alt_l:
print(pyautogui.moveTo(Point(x, y)))
if key == keyboard.Key.esc:
return False
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
这不是一个很好的做事方式。您应该读取文件中的位置,而不是导入文件。有多种方法可以做到这一点,但这可能是最简单的方法:
import pyautogui
from pynput import keyboard
import json
def on_press(key):
if key == keyboard.Key.ctrl_l:
print(pyautogui.position())
with open("cf.json", "w") as f:
json.dump(list(pyautogui.position()), f)
if key == keyboard.Key.alt_l:
with open("cf.json") as f:
x, y = json.load(f)
pyautogui.moveTo(x, y)
if key == keyboard.Key.esc:
return False
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
Whosebug 的人们!我刚刚开始我的编码之旅,这似乎是让我想要放弃一切的问题 xD 如果这很简单,我很抱歉,但我真的尝试了所有可能的方法
我正在尝试编写一个宏,它会使用 ctrl 键记住光标在屏幕上的位置,并 return 使用 alt 键将光标移动到该位置。
import pyautogui
from pynput import keyboard
from contextlib import redirect_stdout
def on_press(key):
if key == keyboard.Key.ctrl_l:
print(pyautogui.position())
with open("cf.py", "a") as f:
with redirect_stdout(f):
print((pyautogui.position()))
一切正常,直到我尝试将 cf.py 的输出结果输出到主文件,以便我可以在 alt 宏中使用它们。
from cf import Point
if key == keyboard.Key.alt_l:
print(pyautogui.moveTo(Point(x, y)))
if key == keyboard.Key.esc:
return False
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
这不是一个很好的做事方式。您应该读取文件中的位置,而不是导入文件。有多种方法可以做到这一点,但这可能是最简单的方法:
import pyautogui
from pynput import keyboard
import json
def on_press(key):
if key == keyboard.Key.ctrl_l:
print(pyautogui.position())
with open("cf.json", "w") as f:
json.dump(list(pyautogui.position()), f)
if key == keyboard.Key.alt_l:
with open("cf.json") as f:
x, y = json.load(f)
pyautogui.moveTo(x, y)
if key == keyboard.Key.esc:
return False
with keyboard.Listener(on_press=on_press) as listener:
listener.join()