Python访问剪贴板

最近发现了一个很好玩的python包:pyperclip。它能访问剪贴板的文字内容,使用也很简单。只有两个功能:复制剪贴板里的内容、向剪贴板写入内容。

安装:

pyperclip是个跨平台的python包,兼容python2和python3。

只需要一条命令就可以安装:

pip install pyperclip

在windows里没有额外依赖。

在mac里需要系统里自带的pbcopy和pbpaste 命令。

在linux里需要系统的xclip或xsel 命令,如果没有的话需要用sudo apt-get install xclip或sudo apt-get install xsel安装(注意:xsel 有时可能不工作)。否则需要在linux里安装gtk 或PyQt4 模块。

复杂剪贴板内容:

假如我先用ctrl+c在剪贴板里复制一段文字“码率控制”,然后执行下面的命令:

>>> import pyperclip>>> pyperclip.paste()'码率控制'>>>

pyperclip.paste()函数可以获取剪贴板里的内容。

向剪贴板写入内容:

>>> import pyperclip>>> pyperclip.copy("这是写入的内容")>>> pyperclip.paste()'这是写入的内容'>>> 

pyperclip.copy函数可以向剪贴板写入内容。然后可以使用pyperclip.paste或者ctrl+v检验剪贴板内容是否和写入的一样。

扩展:

pyperclip还有pyperclip.waitForPaste()函数,如果剪贴板为空它就会阻塞,直到剪贴板不为空它会返回剪贴板的内容。

>>> import pyperclip>>> pyperclip.waitForPaste()  # 直到剪贴板不为空才返回'Hello, world!'

pyperclip还有pyperclip.waitForNewPaste()函数,它会一直阻塞直到剪贴板内容改变它将返回剪贴板上新的内容。

>>> pyperclip.copy('original text')>>> pyperclip.waitForNewPaste()  # 只有当剪贴板的内容不为'original text'时才返回'Hello, world!'

上面的函数还可以设置阻塞时间,如果超过时间还没有返回则抛出PyperclipTimeoutException 异常。

>>> import pyperclip>>> pyperclip.waitForNewPaste(5)Traceback (most recent call last):  File "<stdin>", line 1, in <module>  File "c:\github\pyperclip\src\pyperclip\__init__.py", line 689, in waitForNewPaste    raise PyperclipTimeoutException('waitForNewPaste() timed out after ' + str(timeout) + ' seconds.')pyperclip.PyperclipTimeoutException: waitForNewPaste() timed out after 5 seconds.

感兴趣的请关注微信公众号Video Coding

猜你喜欢

转载自blog.csdn.net/Dillon2015/article/details/106154572
今日推荐