我们知道Windows操作系统的复制粘贴的内容只能是最近一次的内容,当我们想获取之前复制、剪切的内容时需要费一些周折。本文我们来实现将Windows剪切板内容存储到本地文件的功能,以方便我们需要查看之前复制、剪切过的内容。
准备工作
本文我们需要用到python第三方库-pywin32,通过简单的pip install pywin32即可完成安装;同时我们需要用到time库,这个库是python自带的标准库,无需安装;另外我们需要将程序打包成.exe文件,这样就算脱离了python开发环境,还能实现其功能,这时候我们需要用到第三方库pyinstaller,也是通过简单的pip install pyinstaller来完成安装。
设计思路
总的来说思路比较简单,要获取剪切板的内容,首先我们要打开剪切板,获取内容,这里我们需要定义一个函数实现其功能;然后将内容存储到本地文件中,这里也需要定义一个函数;最后我们在主函数实现循环获取剪切板内容。
代码实现
get_clipboard()用来打开Windows剪切板并且获取其内容,这里使用了win32clipboard模块的OpenClipboard()方法打开剪切板,GetClipboardData()方法获取内容,CloseClipboard()关闭剪切板,同时使用了try-except语句处理可能发生的异常:
接下来就是文件保存了,这个我们写过很多次:
这里我们使用time库获取当前日期作为文件名的一部分,这样每一天的记录就能区别开来。
最后是主函数,我们在这里实现while循环,一直监视获取剪切板的内容,当获得的内容与上一次不一致时我们才保存,如果两次复制的内容一样,我们则不做处理,同样使用try-except处理异常:
在程序运行没有问题之后,我们使用pyinstaller打包成.exe文件。具体操作是在工程文件夹下,按下“shift”的同时点击鼠标右键,选择打开Powershell窗口,输入“pyinstaller cliboard.py -F”,在生成的“dist”文件夹下就可找到.exe文件。我们来看下运行过程:
小结
本文我们学会使用了一些第三方库的基础用法,每个库能够实现其自身的功能,利用这些丰富的库实现我们自己的一些想法,可以说是站在巨人的肩膀上,大大节省开发时间。
领取专属 10元无门槛券
私享最新 技术干货