使用 Python 实现复制粘贴的功能

【Python】将图片复制到剪贴板 - Pillow/pywin32 要使用 Python 将图片复制到剪贴板, 所需库, Pillow:用于处理图片;pywin32:用于与 Windows 剪贴板接口交互。 阅读详情

pandas 里面有一个 pd.read_clipboard 函数,可以根据你复制的内容生成DataFrame。是的,就是我们平时选中,然后 Ctrl+C 时拷贝的内容。所以比较神奇,那么 pandas 到底是怎么做到的,它是怎么读出我们使用 Ctrl +C 复制的内容呢。

看了一下源码,不同的操作系统使用的复制方式不同,Windows 比较复杂,方法是使用了ctypes,然后调用了操作系统的一个动态库实现的;而 macOS 和 Linux 比较简单,调用的是内置的命令。

下面我们来看看如何在这三个系统上实现复制粘贴的功能。

Windows 上的复制粘贴

图片

我们说 Windows 是使用 ctypes 调用动态库实现的,比较麻烦。但是我们知道 Python 有一个 pywin32 模块,对于 Windows 操作系统提供的接口进行了封装。所以在 Windows 上我们会使用 pywin32 来实现复制粘贴功能。

该模块直接通过 pip install pywin32 安装即可。

import win32clipboard as wcb
import win32con as wc

# 打开复制粘贴板
wcb.OpenClipboard()
# 我们之前可能已经 Ctrl + C 了
# 这里是清空目前 Ctrl + C 复制的内容
# 但显然没有这一步也无所谓,因为第二次复制会覆盖第一次复制的内容
wcb.EmptyClipboard()
# 将内容写入复制粘贴板,第一个参数是 win32con.CF_TEXT
# 第二个参数是我们要复制的内容,编码的时候指定为 "gbk"
wcb.SetClipboardData(wc.CF_TEXT, "古明地觉".encode("gbk"))
# 关闭复制粘贴板
wcb.CloseClipboard()

然后我们 Ctrl+V 粘贴就会得到 “古明地觉” 这个字符串,另外编码的时候要使用 gbk,因为我当前操作系统默认编码使用的是 gbk,所以会对我们输入的字节使用 gbk 解码。因此如果使用 utf-8 编码的话,那么粘贴之后得到的就会是乱码。当然具体编码根据你当前的机器决定。

复制我们实现了,下面来看看怎么实现粘贴。

import win32clipboard as wcb
import win32con as wc

wcb.OpenClipboard()
# 获取粘贴板内容,既然是获取,那么只需要一个参数即可
python实现复制内容到粘贴板 (附完整源码) 阅读详情

相关推荐

Python中实现复制粘贴功能

是一个第三方模块,提供了一个简单的接口,用于在剪贴板和Python程序之间复制和粘贴文本。这在处理文本数据时非常有用,特别是当你需要在多个应用程序之间共享文本时。运行上述代码后,文本"这是要复制的文本"将被复制到剪贴板中。运行上述代码后,剪贴板中的文本将被粘贴并打印出来。模块,你可以轻松地实现复制粘贴功能,提高工作效率。运行上述代码后,你将看到文本被成功复制和粘贴。函数,你可以将文本复制到剪贴板,然后使用。要将文本复制到剪贴板,你可以使用。要从剪贴板中粘贴文本,你可以使用。在Python中,你可以使用。

CyberGenius的博客 1503

使用python 将图片复制到系统剪贴中

需要安装pywin32,pillow 依赖包 #coding:utf-8 import win32clipboard as clip import win32con from PIL import Image from cStringIO import StringIO ''' 往剪贴板中放入图片 ''' def setImage(data): clip.OpenClipboard() #打开剪贴板 clip.EmptyClipboard() #先清空剪贴板 clip.SetClipboardData(win32con.CF_DIB, data) #将图片放入剪贴板 cl

【密码学】生成8位26个字母和数字的全排列(密码字典,密钥)c++代码(非递归高效直接)

生成8位26个字母和数字的全排列(密钥)代码(非递归高效直接) 用C语言或C++,生成一个8位的26个字母和数字的全排列的原代码,例如从:00000000到ZZZZZZZZ。 说明:生成的这个字典会非常大,有36^8条记录,估计要3T的硬盘,跑一个晚上看看         这个方法比递归更高效,更直接。                                                ...

Wu_Being 的优快云 博客 1万+

告别手动复制粘贴:3种高效合并Excel表格的方法对比(含代码)

本文对比了VBA、Power Query和Python三种高效合并Excel表格的方法,并提供了可直接运行的代码。针对不同数据量、更新频率和技术背景,详细分析了各方案的优缺点与适用场景,帮助读者告别低效的手动操作,实现自动化数据整合。

weixin_29057237的博客 442

全志T113s3主线linux开发(0)--基础准备

嵌入式Linux设备的启动大概是三步:1)启动芯片+内存:常见的是Uboot,不过全志的Uboot主线对SPI NAND 不太友好,用TF卡就方便。对于T113S芯片,推荐使用Awboot,简陋但快速。开发阶段用这个就方便好多,对SPINAND支持也方便。2)启动linux内核:主线内核以下通篇都用6.13以上的内核。对比tina5.0还在用5.4 ,主要是性能、安全上有变化。6.0以上内核在devicetree的编写具体格式上有了变化,网上大量tina5.0和5.4内核的编写方式不适用。

2301_79234138的博客 2247

ESP32IDF 通过 PCA9685控制舵机的程序bug处理

esp32 PCA9685 bug 舵机

ztvzbj的博客 726

基于ESP32的智能无线广播系统开发博客

通过本项目的开发,我们成功地实现了基于ESP32的智能无线广播系统。该系统不仅具备传统广播的功能,还实现了通过Wi-Fi无线传输音频、实时广播和智能控制等多种先进功能。未来,随着技术的进一步发展,我们还可以扩展更多功能,如智能推荐广播内容、支持语音识别和控制等。希望本项目能够为嵌入式开发人员提供一些思路和参考,帮助大家在实际开发中更好地应用ESP32平台,开发出更加智能和实用的无线广播系统。

2201_76125393的博客 423

RT-DETR改进策略【独家融合改进】| SPD-Conv+PPA 再次提升模型针对小目标的特征提取能力

SPD-Conv是一种新的 CNN 构建模块,用于替代传统 CNN 架构中使用的步长卷积(strided convolution)和池化(pooling)层,它由空间到深度(Space-to-depth,SPD)层和非步长卷积(non - strided convolution)层组成。

Limiiiing的博客 1154

【Mini KITTI】KITTI数据集简介 — Mini KITTI

为了快速进行算法调试、训练、评估和验证,以及快速下载,制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:。 关于KITTI各个部分的介绍请分别参考以下内容: ...

叶子的博客 7535

Python 爬虫实战:豆瓣 / IMDB 电影数据抓取(评分 + 剧情 + 演员阵容结构化处理)

在数据为王的时代,电影数据是进行市场分析、推荐系统构建和学术研究的重要资源。豆瓣和 IMDB 作为国内外最具影响力的电影评分和资讯网站,包含了海量高质量的电影数据。本文将带领你从零开始,构建一个健壮的 Python 爬虫,用于抓取豆瓣和 IMDB 的电影信息,并将其中的非结构化数据(如剧情简介、演员列表)进行清洗和结构化处理,最终存储到便于分析的结构化文件(如 CSV)中。

yansideyucsdn的博客 956

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 7 个 Python 问题,来扫扫盲
下一篇: 零基础学Python爬虫,一文教你入门!
普通网友
博客等级 码龄3年 4493粉丝 309原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值