其他分享
首页 > 其他分享> > 一个简单的剪贴板记录代码

一个简单的剪贴板记录代码

作者:互联网

  本代码主要用到的模块是pyperclip。

 

 1 import pyperclip
 2 import sys
 3 import time
 4 import json
 5 import threading
 6 
 7 
 8 
 9 class ClipBoardSave:
10     def __init__(self, filename) -> None:
11         self.filename = filename                 #用来持久化存储剪贴板的内容的文件
12         self.clip_list = []             #临时存储剪贴板数据的列表
13     
14 
15     def run(self):
16         try:
17             while True:
18                 if pyperclip.paste():
19                     value = pyperclip.paste()
20                     local_time = time.asctime( time.localtime(time.time()) )   #取得时间,来标识什么时间获取到的剪贴板内容
21                     if value not in self.clip_list:
22                         self.clip_list.append({local_time:value})
23 
24                 self.write_file_timer()
25                 
26                 time.sleep(3)
27         except KeyboardInterrupt:
28             print("Exit program")
29             sys.exit(0)
30     
31     def write_file_timer(self):
32         with open(self.filename, 'a+') as f:
33             f.write(json.dumps(self.clip_list,ensure_ascii=False))         #需要ensure_ascii设置为false来解决中文乱码的问题
34         self.clip_list = []
35         timer = threading.Timer(10, self.write_file_timer)                 #用定时器周期性的持久化写文件(以追加方式)
36         timer.start()
37 
38 
39 if __name__ == "__main__":
40     cliper = ClipBoardSave('clip_log.txt')
41     cliper.run()

 

标签:__,剪贴板,clip,记录,self,list,time,import,代码
来源: https://www.cnblogs.com/jason-huawen/p/16249115.html