python兩種獲取剪貼板內容的方法


第一種

 import win32clipboard     
 import time     
 #速度快 容易出錯     
 class niubi():     
  def lihai(self):     
   while True:     
    #jianting().main()     
    t = jianting().main()     
    print(t)     
            
 class jianting():     
  def clipboard_get(self):     
   """獲取剪貼板數據"""     
   win32clipboard.OpenClipboard()     
   data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)     
   win32clipboard.CloseClipboard()     
   return data     
            
  def main(self):     
   """后台腳本:每隔0.2秒,讀取剪切板文本,檢查有無指定字符或字符串,如果有則執行替換"""     
   # recent_txt 存放最近一次剪切板文本,初始化值只多執行一次paste函數讀取和替換     
   recent_txt = self.clipboard_get()     
   while True:     
    # txt 存放當前剪切板文本     
    txt = self.clipboard_get()     
    # 剪切板內容和上一次對比如有變動,再進行內容判斷,判斷后如果發現有指定字符在其中的話,再執行替換     
    if txt != recent_txt:     
     # print(f'txt:{txt}')     
     recent_txt = txt # 沒查到要替換的子串,返回None     
     return recent_txt             
    
    # 檢測間隔(延遲0.2秒)     
    time.sleep(0.2)             
    
 if __name__ == '__main__':     
  niubi().lihai() 

速度快,但很容易出錯, 一般人感覺不出來速度。 不建議使用。

方法二:

#Python學習交流群:531509025

 import pyperclip     
 import time             
    
 #穩定不出錯     
 class niubi():     
  def lihai(self):     
   while True:     
    #jianting().main()     
    t = jianting().main()     
    print(t)     
 class jianting():     
  def clipboard_get(self):     
   """獲取剪貼板數據"""     
   data = pyperclip.paste() #主要這里差別     
   return data             
    
  def main(self):     
   """后台腳本:每隔0.2秒,讀取剪切板文本,檢查有無指定字符或字符串,如果有則執行替換"""     
   # recent_txt 存放最近一次剪切板文本,初始化值只多執行一次paste函數讀取和替換     
   recent_txt = self.clipboard_get()     
   while True:     
    # txt 存放當前剪切板文本     
    txt = self.clipboard_get()     
    # 剪切板內容和上一次對比如有變動,再進行內容判斷,判斷后如果發現有指定字符在其中的話,再執行替換     
    if txt != recent_txt:     
     # print(f'txt:{txt}')     
     recent_txt = txt # 沒查到要替換的子串,返回None     
     return recent_txt     
            
    # 檢測間隔(延遲0.2秒)     
    time.sleep(0.2)     
            
 if __name__ == '__main__':     
  niubi().lihai() 

我一般把第二種 用在程序中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM