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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章