Это сильно зависит от ОС. В 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...
В зависимости от операционной системы Я бы предположил, что вы используете? – cobbal
Windows, хотя я спрашиваю, что, если приложение должно было быть мультиплатформенным? Будет ли способ? – dpswt
Подобный вопрос с кучей хороших ответов http://stackoverflow.com/questions/579687 –