从ipython访问选择剪贴板

时间:2014-01-03 15:24:12

标签: python clipboard ipython

我想从ipython中访问剪贴板中的文本。

我得到了这么远(甚至不确定这是否是最好的方式,只是在ipython魔法来源中找到了):

import IPython
from IPython.core.hooks import clipboard_get
ip = IPython.get_ipython()
my_string = clipboard_get(ip)

它有点适用于我手动复制的东西,但是我希望得到“其他”剪贴板 - 当您使用鼠标中键时获得的剪贴板。选择缓冲区或其任何名称。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

你可以通过Tkinter获得X Window的“鼠标中键”选择(称为PRIMARY选择):

import Tkinter # Replace "Tkinter" with "tkinter" for Python 3.x.
tk = Tkinter.Tk()
tk.withdraw()
print(tk.selection_get())

另一个解决方案是运行xclip并获取其输出。 (如果您没有安装xclip,则可以在大多数Linux发行版的软件包存储库中找到它。)

import subprocess

print(subprocess.check_output(['xclip', '-o', '-selection', 'PRIMARY']))