Это сильно зависит от ОС. В Linux из-за странной модели выбора X самый простой способ - использовать 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...