Независимый от платформы инструмент для копирования текста в буфер обмена

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

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()

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

Есть ли какая-то альтернатива или исправление?

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

Ответы

Ответ 1

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

Используйте pyperclip.

Ответ 2

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

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

Итак, вы не можете сделать это при работе под Gnome, кроме того, что вы выполняете script.