Platform independent tool to copy text to clipboar

2019-03-18 02:59发布

I am trying to write a function that copies a string parameter to the clipboard. I intend to use this in a Python script that I've been working on. This is what I have so far (found most this snippet on another stack overflow post):

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

My problem is that when the script stops, the copied text is no longer on the clipboard.

Is there any possible alternative or fix to this?

Is there a good platform independent solution to my problem? Or will I have to check for what OS the user is on and proceed from there?

3条回答
啃猪蹄的小仙女
2楼-- · 2019-03-18 03:25

Yes, there is one for you :)

Use pyperclip.

查看更多
不美不萌又怎样
3楼-- · 2019-03-18 03:27

This worked for me and is very simple. (mac tested only)

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

查看更多
Root(大扎)
4楼-- · 2019-03-18 03:32

I suppose that you're running on Linux with Gnome.

That's normal behavior on Gnome, as soon as the source of the copy vanishes e.g. closing the Browser Window you copied from, the clipboard data gets removed too. Workaround is to install the gnome-clipboard-daemon which will preserve the Clipboard state like Windows and KDE do.

So, there's not much you can do when running under Gnome, besides leaving your script running.

查看更多
登录 后发表回答