大家好,我想这很容易,但是我似乎找不到如何复制一个字符串的方法。就像在文本上按CTRL+C一样将其复制到系统中。
基本上,我想复制一个字符串,以便例如粘贴(ctrl+v)。
对于这样一个琐碎的问题,抱歉哈哈。
大家好,我想这很容易,但是我似乎找不到如何复制一个字符串的方法。就像在文本上按CTRL+C一样将其复制到系统中。
基本上,我想复制一个字符串,以便例如粘贴(ctrl+v)。
对于这样一个琐碎的问题,抱歉哈哈。
对于Windows系统,您需要使用win32clipboard。 您需要pywin32。
对于GTK(至少在GNU / Linux上),您可以使用pygtk。
编辑:由于您稍微晚了点提到您正在使用wxPython,他们实际上也有一个模块用于这个,wx.Clipboard。
popen('xsel -pi')
,并将文本写入该管道。def select_xsel(text):
import subprocess
xsel_proc = subprocess.Popen(['xsel', '-pi'], stdin=subprocess.PIPE)
xsel_proc.communicate(some_text)
如评论中所指出,在Mac上,您可以使用/usr/bin/pbcopy
命令,就像这样:
xsel_proc = subprocess.Popen(['pbcopy'], stdin=subprocess.PIPE)
如果你想支持不同的操作系统,可以结合使用os.name
来确定使用哪种方法:
import os, subprocess
def select_text(text):
if os.name == "posix":
# try Mac first
try:
xsel_proc = subprocess.Popen(['pbcopy'], stdin=subprocess.PIPE)
except:
# try Linux version
xsel_proc = subprocess.Popen(['xsel', '-pi'], stdin=subprocess.PIPE)
elif os.name == "nt":
# Windows...
/usr/bin/pbcopy
。 - cobbal如果需要一个多平台的解决方案,您将需要使用跨平台框架,如wxPython或PyQt - 它们都支持以独立于平台的方式读写系统剪贴板。