#python #python-3.x #pywin32
Вопрос:
Я ищу лучший способ проверить, есть ли что-то в буфере обмена, используя «pywin32».
например, я хочу очистить буфер обмена после нажатия «ctrl c», а затем проверить, пуста ли переменная «вывод» по-прежнему или нет. Если буфер обмена не пуст, макросы работают, но если буфер обмена пуст, он показывает следующую ошибку:
«Трассировка (последний последний вызов): Файл «E:DesktopPython_LearningCheck если эмпри script.py», строка 13, в выводе = win32clipboard.Ошибка типа GetClipboardData (): Указанный формат буфера обмена недоступен»
Я ничего не могу найти в Google, поэтому решаю спросить здесь (об одном слабом обучении кодированию), надеюсь, кто-нибудь поможет это исправить.
`
import win32clipboard
import pyautogui as pya
win32clipboard.OpenClipboard()
output = win32clipboard.EmptyClipboard()
win32clipboard.CloseClipboard()
print(output)
pya.hotkey('ctrl', 'c')
win32clipboard.OpenClipboard()
output = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
if output is None:
print("there is nothing")
else:
print("There is something")
print(output)
`
Комментарии:
1. Я почти уверен, что функция EmptyClipboard() просто очищает буфер обмена
2. Я не уверен, но я думаю, что вы можете использовать оператор try/catch
Ответ №1:
Попробуйте это
try:
output = win32clipboard.GetClipboardData()
except TypeError:
output = None
Я не знаю, как работает модуль win32clipboard, но я видел, как люди использовали с ним инструкцию try/except