pythonwindowsinteropclipboard

How do I copy a string to the clipboard?


I'm trying to make a basic Windows application that builds a string out of user input and then adds it to the clipboard. How do I copy a string to the clipboard using Python?


Solution

  • Actually, pywin32 and ctypes seem to be an overkill for this simple task. tkinter is a cross-platform GUI framework, which ships with Python by default and has clipboard accessing methods along with other cool stuff.

    If all you need is to put some text to system clipboard, this will do it:

    from tkinter import Tk # in Python 2, use "Tkinter" instead 
    r = Tk()
    r.withdraw()
    r.clipboard_clear()
    r.clipboard_append('i can has clipboardz?')
    r.update() # now it stays on the clipboard after the window is closed
    r.destroy()
    

    And that's all, no need to mess around with platform-specific third-party libraries.

    If you are using Python 2, replace tkinter with Tkinter.