您可以使用外部程序,
xsel:
from subprocess import Popen, PIPE
p = Popen(['xsel','-pi'], stdin=PIPE)
p.communicate(input='Hello, World')
使用xsel,您可以设置要处理的剪贴板.
> -p使用PRIMARY选择.这是中间点击一个.
-s适用于SECONDARY选择.我不知道这是否被使用了.
> -b使用CLIPBOARD选择.这是你的Ctrl V一个.
阅读更多关于X的剪贴板here和here.
我创建的一个快速和脏的功能来处理这个:
def paste(str, p=True, c=True):
from subprocess import Popen, PIPE
if p:
p = Popen(['xsel', '-pi'], stdin=PIPE)
p.communicate(input=str)
if c:
p = Popen(['xsel', '-bi'], stdin=PIPE)
p.communicate(input=str)
paste('Hello', False) # pastes to CLIPBOARD only
paste('Hello', c=False) # pastes to PRIMARY only
paste('Hello') # pastes to both
你也可以尝试pyGTK的clipboard:
import pygtk
pygtk.require('2.0')
import gtk
clipboard = gtk.clipboard_get()
clipboard.set_text('Hello, World')
clipboard.store()
这适用于我的Ctrl V选择.