Python 获取 mac 剪贴板内容

20 投票
6 回答
13647 浏览
提问于 2025-04-16 23:43

我想知道怎么用Python(2.7)获取Mac剪贴板里的内容。有比包一层pbpaste更好的方法吗?

谢谢!

6 个回答

9

如果你已经安装了pandas这个库,你可以像下面这样使用pandas里的功能:

from pandas.io.clipboard import clipboard_get
text = clipboard_get()                                                     
16

你有没有看过这个叫做 xerox 的模块?
它应该可以在Windows、OS X和Linux上使用。


使用方法如下:

xerox.copy(u'一些字符串')

然后要粘贴的时候:

>>> xerox.paste()
u'一些字符串'

20

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)

这个只支持文本,如果你传入其他类型的数据,它会返回 None。不过你可以扩展它,让它支持其他数据类型,具体可以参考 NSPasteboard 类参考

撰写回答