使用Python 3.7获取Mac OS X 10.14上光标的实时位置

时间:2019-09-14 19:57:27

标签: python-3.x

我正在使用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应该只显示当前鼠标位置。

1 个答案:

答案 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.')