如何使用 python 从环境中获取显示

how to use python to get display from environment

我想快速检测光标位置和颜色(小于 0.1 秒)

我阅读了 this article 并想尝试他的最后一种方法 (Xlib)

但是,当我运行os.getenv("DISPLAY"),它returnsNone

有谁知道如何解决这个问题或提供一种新方法来实现我的目标?

系统:MacBook Pro,macOS 10.15.4

Xlib 在 macOS 上通常不可用。您可以考虑使用诸如 pynput or pyautogui 之类的库来实现您想要做的事情。

例如pynput

from pynput.mouse import Controller

mouse = Controller()
print(mouse.position)  # (x, y) coordinates tuple 

Pyautogui 是一个很好的 GUI 操作库,它有 position(),我使用 screenshot() 然后获取给定像素的颜色,这是我尝试过的,你可以通过下面的代码检查它,

在使用代码之前,使用

安装包
python -m pip install pyautogui

代码:

import pyautogui

try:
    while True:
        x, y = pyautogui.position()
        pixelColor = pyautogui.screenshot().getpixel((x, y))
        screenShot = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        screenShot += ' RGB: (' + str(pixelColor[0]).rjust(3)
        screenShot += ', ' + str(pixelColor[1]).rjust(3)
        screenShot += ', ' + str(pixelColor[2]).rjust(3) + ')'
        print(screenShot)

except KeyboardInterrupt:
    print("\nDone...")