Python 技术篇-用pywin32库实现读写剪贴板

我们需要 pywin32 库,没有的话可以看下安装教程。
pywin32库安装教程

# -*- coding: UTF8 -*-
import win32clipboard as wc
import win32con

# 获取剪切板内容
def getCopy():
    wc.OpenClipboard()
    t = wc.GetClipboardData(win32con.CF_UNICODETEXT)
    wc.CloseClipboard()
    return t

# 写入剪切板内容
def setCopy(str):
    wc.OpenClipboard()
    wc.EmptyClipboard()
    wc.SetClipboardData(win32con.CF_UNICODETEXT, str)
    wc.CloseClipboard()

setCopy("中文English")
print(getCopy())

强调一点,网上很多人将 win32con.CF_UNICODETEXT 写成 win32con.CF_TEXT,这个是需要转码的,不然中文会有乱码,而且写入剪贴板的英文中间会有空格。

乱码问题:
TEXT 的编码格式是 GB2312 的,如果中文用 UTF-8 打出就会是乱码。
如果只是获取剪贴板内容的话在 getCopy() 加个 .decode(“GB2312”) 就好了。
乱码的原因有很多可能,这只是其中一种可能。

英文中间夹空格问题:
空格的原因是写入的英文是一个字节,GB2312 是两个字节,他们转化之后还是就会是在后面加一个字节的空格来占位置。比如 hello 打印出来的效果就是 h e l l o。
在这里插入图片描述
喜欢的点个赞❤吧!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挣扎的蓝藻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值