我试图使一个基本的Windows应用程序构建出用户输入的字符串,然后将其添加到剪贴板。如何使用Python将字符串复制到剪贴板?
当前回答
实际上,对于这个简单的任务,pywin32和ctypes似乎是多余的。tkinter是一个跨平台的GUI框架,默认情况下与Python一起发布,并具有剪贴板访问方法和其他很酷的东西。
如果你所需要的只是将一些文本放入系统剪贴板,这将做到:
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()
仅此而已,不需要在特定于平台的第三方库上浪费时间。
如果您正在使用Python 2,请将tkinter替换为tkinter。
其他回答
你可以使用winclip32模块! 安装:
pip install winclip32
复制:
import winclip32
winclip32.set_clipboard_data(winclip32.UNICODE_STD_TEXT, "some text")
得到:
import winclip32
print(winclip32.get_clipboard_data(winclip32.UNICODE_STD_TEXT))
欲了解更多信息:https://pypi.org/project/winclip32/
如果你不喜欢这个名字,你可以使用导数模块剪贴板。
注意:它只是pyperclip的选择性包装
安装完成后,导入:
import clipboard
然后你可以像这样复制:
clipboard.copy("This is copied")
你也可以粘贴复制的文本:
clipboard.paste()
使用python的剪贴板库!
import clipboard as cp
cp.copy("abc")
剪贴板现在包含'abc'。粘贴快乐!
import wx
def ctc(text):
if not wx.TheClipboard.IsOpened():
wx.TheClipboard.Open()
data = wx.TextDataObject()
data.SetText(text)
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
ctc(text)
最简单的方法是用pyperclip。适用于python 2和3。
要安装这个库,请使用:
pip install pyperclip
使用示例:
import pyperclip
pyperclip.copy("your string")
如果你想获取剪贴板的内容:
clipboard_content = pyperclip.paste()