我试图使一个基本的Windows应用程序构建出用户输入的字符串,然后将其添加到剪贴板。如何使用Python将字符串复制到剪贴板?
当前回答
使用python的剪贴板库!
import clipboard as cp
cp.copy("abc")
剪贴板现在包含'abc'。粘贴快乐!
其他回答
如果(仅当)应用程序已经使用了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 -复制文件到剪贴板-堆栈溢出
复制剪贴板的代码片段:
在名为(clipboard.py)的模块中创建包装器Python代码:
import clr
clr.AddReference('System.Windows.Forms')
from System.Windows.Forms import Clipboard
def setText(text):
Clipboard.SetText(text)
def getText():
return Clipboard.GetText()
然后将上述模块导入到代码中。
import io
import clipboard
code = clipboard.getText()
print code
code = "abcd"
clipboard.setText(code)
我必须赞扬博客文章在IronPython剪贴板访问。
你可以使用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/
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 -跨平台剪贴板模块。或施乐类似的模块,除了需要win32 Python模块才能在Windows上工作。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 我如何找到哪个程序正在使用端口80在Windows?
- 使用try和。Python中的if