Python获取mac剪贴板内容

14 python macos clipboard

我怎样才能使用Python(2.7)获取Mac剪贴板的内容.有没有比制作pbpaste包装更好的方法?

谢谢!

Fak*_*ame 15

你看过xerox模块吗?
它应该支持Windows,OS X和Linux


用法如下:

xerox.copy(你的字符串')

并粘贴:

>>> xerox.paste()
你的字符串'


Mag*_*alp 14

PyObjC是要走的路:

#!/usr/bin/python

from AppKit import NSPasteboard, NSStringPboardType

pb = NSPasteboard.generalPasteboard()
pbstring = pb.stringForType_(NSStringPboardType)
print u"Pastboard string: %s".encode("utf-8") % repr(pbstring)
Run Code Online (Sandbox Code Playgroud)

这仅支持文本,None否则将返回.您可以扩展它以支持其他数据类型,请参阅NSPastboard类参考.


小智 9

如果你已经安装了pandas,则可以使用pandas中的函数,如下:

from pandas.io.clipboard import clipboard_get
text = clipboard_get()                                                     
Run Code Online (Sandbox Code Playgroud)


Jon*_*ice 5

xerox我找到的"获取Mac剪贴板内容" 的模块和大多数代码示例的问题是它们只返回纯文本.它们不支持超链接,样式等,因此它们无法真正访问Microsoft Word和Google Chrome等应用程序提供的完整内容.

站在别人的肩膀上,我终于想出了如何做到这一点.生成的richxerox模块可在PyPIBitbucket上使用.

虽然这个问题很老,但我在这里留下了面包屑,因为在搜索答案的过程中,我一直通过谷歌重新找到这个页面.