Python監(jiān)聽剪切板實(shí)現(xiàn)方法代碼實(shí)例
第一種
import win32clipboardimport time#速度快 容易出錯(cuò)class niubi(): def lihai(self): while True: #jianting().main() t = jianting().main() print(t)class jianting(): def clipboard_get(self): '''獲取剪貼板數(shù)據(jù)''' win32clipboard.OpenClipboard() data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT) win32clipboard.CloseClipboard() return data def main(self): '''后臺腳本:每隔0.2秒,讀取剪切板文本,檢查有無指定字符或字符串,如果有則執(zhí)行替換''' # recent_txt 存放最近一次剪切板文本,初始化值只多執(zhí)行一次paste函數(shù)讀取和替換 recent_txt = self.clipboard_get() while True: # txt 存放當(dāng)前剪切板文本 txt = self.clipboard_get() # 剪切板內(nèi)容和上一次對比如有變動,再進(jìn)行內(nèi)容判斷,判斷后如果發(fā)現(xiàn)有指定字符在其中的話,再執(zhí)行替換 if txt != recent_txt:# print(f’txt:{txt}’)recent_txt = txt # 沒查到要替換的子串,返回Nonereturn recent_txt # 檢測間隔(延遲0.2秒) time.sleep(0.2)if __name__ == ’__main__’: niubi().lihai()
速度快,但很容易出錯(cuò), 一般人感覺不出來速度。 不建議使用。
第二種
import pyperclipimport time#穩(wěn)定不出錯(cuò)class niubi(): def lihai(self): while True: #jianting().main() t = jianting().main() print(t)class jianting(): def clipboard_get(self): '''獲取剪貼板數(shù)據(jù)''' data = pyperclip.paste() #主要這里差別 return data def main(self): '''后臺腳本:每隔0.2秒,讀取剪切板文本,檢查有無指定字符或字符串,如果有則執(zhí)行替換''' # recent_txt 存放最近一次剪切板文本,初始化值只多執(zhí)行一次paste函數(shù)讀取和替換 recent_txt = self.clipboard_get() while True: # txt 存放當(dāng)前剪切板文本 txt = self.clipboard_get() # 剪切板內(nèi)容和上一次對比如有變動,再進(jìn)行內(nèi)容判斷,判斷后如果發(fā)現(xiàn)有指定字符在其中的話,再執(zhí)行替換 if txt != recent_txt:# print(f’txt:{txt}’)recent_txt = txt # 沒查到要替換的子串,返回Nonereturn recent_txt # 檢測間隔(延遲0.2秒) time.sleep(0.2)if __name__ == ’__main__’: niubi().lihai()
我一般把第二種 用在程序中。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JAMon(Java Application Monitor)備忘記2. SpringBoot+TestNG單元測試的實(shí)現(xiàn)3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法5. Docker容器如何更新打包并上傳到阿里云6. VMware中如何安裝Ubuntu7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. python 浮點(diǎn)數(shù)四舍五入需要注意的地方9. idea配置jdk的操作方法10. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問題
