我的第一篇文章……</p>
我正在使用 python 脚本从 Mac OS X Lion 上的剪贴板上获取文本。
我使用以下功能设置剪贴板:
def setClip (text):
pb = NSPasteboard.generalPasteboard()
pb.clearContents()
a = NSArray.arrayWithObject_(text)
return pb.writeObjects_(a)
where text
= "一些文字"
我使用以下内容检索剪贴板:
def getClip():
pb = NSPasteboard.generalPasteboard()
pbstring = pb.stringForType_(NSString *)dataType
return pbstring
输出前面带有“u”,文本用引号括起来,如下所示:
In [224]: setClip('some text')
Out[224]: True
In [225]: getClip()
Out[225]: "u'some text'"
如何检索应该输入到剪贴板的文本?
我对 NSPasteboard 一无所知。我在 stackoverflow 上找到了这些代码片段。
提前致谢。
附录:我的实际代码
from AppKit import *
def setClip (text):
pb = NSPasteboard.generalPasteboard()
pb.clearContents()
a = NSArray.arrayWithObject_(text)
return pb.writeObjects_(a)
def getClip():
pb = NSPasteboard.generalPasteboard()
pbstring = pb.stringForType_(NSString *)dataType
return pbstring
这就是我在 ipython 中运行它时发生的情况:
输出前面带有“u”,文本用引号括起来,如下所示:
In [224]: setClip('some text')
Out[224]: True
In [225]: getClip()
Out[225]: "u'some text'"
尝试了答案中的建议***
def getClip():
pb = NSPasteboard.generalPasteboard()
return pb.stringForType_("public.utf8-plain-text")
In [332]: getClip()
Out[332]: u"some text"
不去。:-(
是的。我只需要这样做:
print getClip()
我现在有
"some text"