Независимый от платформы инструмент для копирования текста в буфер обмена - PullRequest
15 голосов
/ 30 ноября 2010

Я пытаюсь написать функцию, которая копирует строковый параметр в буфер обмена .Я собираюсь использовать это в скрипте Python, над которым я работаю.Это то, что я имею до сих пор (большая часть этого фрагмента найдена в другом сообщении о переполнении стека):

from tkinter import Tk

    def copy_to_clipboard(text):
        text = str(text)
        r = Tk()
        r.withdraw()
        r.clipboard_clear()
        r.clipboard_append(text)
        r.destroy()

Моя проблема в том, что когда скрипт останавливается, скопированный текст больше не находится в буфере обмена.

Есть ли альтернатива или исправление?

Есть ли хорошее независимое от платформы решение моей проблемы?Или мне нужно будет проверить, на какой ОС работает пользователь, и продолжить оттуда?

Ответы [ 3 ]

12 голосов
/ 30 ноября 2010

Да, есть один для вас:)

Использование pyperclip .

4 голосов
/ 30 ноября 2010

Полагаю, вы работаете в Linux с Gnome.

Это нормальное поведение в Gnome, как только источник копии исчезает, например, закрывая окно браузера, из которого вы скопировали, данные буфера обмена также удаляются.Обходной путь - установить gnome-clipboard-daemon, который сохранит состояние буфера обмена, как это делают Windows и KDE.

Итак, вы не можете многое сделать при работе под Gnome, кроме как оставить свой скрипт запущенным.

1 голос
/ 12 января 2014

Это сработало для меня и очень просто. (только для Mac)

http://www.macdrifter.com/2011/12/python-and-the-mac-clipboard.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...