我正在编写一个简单的python脚本来移动鼠标,并使用pyautogui来实现该脚本必须同时在Windows和Linux上运行。问题是when i use linux Xlib raise Xlib.error.DisplayConnectionError。为了解决这个问题,我使用try/catch子句导入pyautogui,但我不知道如何捕获Xlib.error.DisplayConnectionError。
作为一种解决方法,我使用了except Exception:
,但它不是很好:
import os
try:
import pyautogui as pag
except Exception:
os.system("xhost +SI:localuser:root")
import pyautogui as pag
我一直看到:
但我无法在Windows上导入Xlib
一种解决办法似乎是:
import os
if 'DISPLAY' in os.environ:
import Xlib
try:
import pyautogui as pag
except Xlib.error.DisplayConnectionError:
os.system("xhost +SI:localuser:root")
import pyautogui as pag
else:
import pyautogui as pag
但它令人困惑、冗长且难以阅读
您可以捕获常规异常,然后只需检查其特定类型,而无需导入外部模块:
Suggestion被@tjollans
相关问题 更多 >
编程相关推荐