将字符串本地复制到剪贴板 python 3

Copy string to clipboard natively python 3

找了很久的好方法,只用python中包含的目录,把一个字符串放到剪贴板上。我试过了

import subprocess
def copy2clip(txt):
    cmd='echo '+txt.strip()+'|clip'
    return subprocess.check_call(cmd, shell=True)

然后调用

copy2clip('text')

然而,这似乎在剪贴板上的文本中添加了额外的一行。

我也尝试了 Tkinter 方法,但它只是在我尝试粘贴时导致 python window 崩溃。

我是 运行 python 3.5.2 windows 10.

我用过

import subprocess
txt = "Save to clipboard!"
subprocess.run(['clip.exe'], input=txt.strip().encode('utf-16'), check=True)

工作完美。感谢@eryksun 评论这个答案。