我试图使一个基本的Windows应用程序构建出用户输入的字符串,然后将其添加到剪贴板。如何使用Python将字符串复制到剪贴板?


当前回答

你也可以使用>剪贴板

import clipboard

def copy(txt):
    clipboard.copy(txt)
    
copy("your txt")

其他回答

如果你不喜欢这个名字,你可以使用导数模块剪贴板。

注意:它只是pyperclip的选择性包装

安装完成后,导入:

import clipboard

然后你可以像这样复制:

clipboard.copy("This is copied")

你也可以粘贴复制的文本:

clipboard.paste()

如果(仅当)应用程序已经使用了Qt,您可以使用这个(优点是没有额外的第三方依赖)

from PyQt5.QtWidgets import QApplication
clipboard = QApplication.clipboard()

# get text (if there's text inside instead of e.g. file)
clipboard.text()

# set text
clipboard.setText(s)

这要求已经构造了Qt应用程序对象,因此除非应用程序已经使用了Qt,否则不应该使用它。

此外,通常情况下,在X系统(可能还有其他系统)中,除非使用parcellite或xclipboard之类的东西,否则内容只会持续到应用程序存在为止。

文档:

QGuiApplication Class | Qt GUI 5.15.6 QClipboard Class | Qt GUI 5.15.6

请参见:python - PyQT -复制文件到剪贴板-堆栈溢出

可以使用pyperclip -跨平台剪贴板模块。或施乐类似的模块,除了需要win32 Python模块才能在Windows上工作。

你也可以使用>剪贴板

import clipboard

def copy(txt):
    clipboard.copy(txt)
    
copy("your txt")

小部件还具有名为.clipboard_get()的方法,该方法返回剪贴板的内容(除非根据剪贴板中的数据类型发生某种错误)。

在这个错误报告中提到了clipboard_get()方法: http://bugs.python.org/issue14777

奇怪的是,在我通常参考的常见(但非官方的)在线TkInter文档源中并没有提到这种方法。