我正在使用Python Idle,并且想要显示鼠标光标的当前位置。该代码来自Al Sweigart的书(使用Python自动完成无聊的东西),但是不幸的是,当前位置只是连续打印。
我仔细检查了代码,并确保在终端中安装了必要的模块(pyobjc-framework-Quartz,pyobjc-core和pyobjc)。我看过其他论坛,并尝试了在终端中运行代码的解决方案,但无法正常工作。
# mouseNow.py - Displays the mouse cursor's current position.
import pyautogui
print('Press Ctrl-C to quit.')
try:
while True:
x, y = pyautogui.position()
positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
print(positionStr, end='')
print('\b' * len(positionStr), end='', flush=True)
except KeyboardInterrupt:
print('\nDone.')
使用当前代码,IDLE重复打印当前位置。使用正确的代码,IDLE应该只显示当前鼠标位置。
答案 0 :(得分:0)
在打印到文件之前,可以使用truncate
删除文件的内容:
import pyautogui
print('Press Ctrl-C to quit.')
try:
while True:
x, y = pyautogui.position()
positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' +str(y).rjust(4)
print(positionStr, end='')
print('\b' * len(positionStr), end='', flush=True)
with open("somefile.txt", "a") as f:
f.truncate(0)
f.write("X: {:>4} Y: {:>4}".format(x, y))
except KeyboardInterrupt:
print('\nDone.')