One more answer to improve on: https://stackoverflow.com/a/4203897/2804197 and https://stackoverflow.com/a/25476462/1338797 (Tkinter).
Tkinter is nice, because it's either included with Python (Windows) or easy to install (Linux), and thus requires little dependencies for the end user.
Here I have a "full-blown" example, which copies the arguments or the standard input, to clipboard, and - when not on Windows - waits for the user to close the application:
import sys
try:
from Tkinter import Tk
except ImportError:
# welcome to Python3
from tkinter import Tk
raw_input = input
r = Tk()
r.withdraw()
r.clipboard_clear()
if len(sys.argv) < 2:
data = sys.stdin.read()
else:
data = ' '.join(sys.argv[1:])
r.clipboard_append(data)
if sys.platform != 'win32':
if len(sys.argv) > 1:
raw_input('Data was copied into clipboard. Paste and press ENTER to exit...')
else:
# stdin already read; use GUI to exit
print('Data was copied into clipboard. Paste, then close popup to exit...')
r.deiconify()
r.mainloop()
else:
r.destroy()
This showcases:
raw_input
and print()
compatibility