Python调用剪切板的几种方法

最近在网上搜索Python调用剪切板的方法,得到比较多的说法是调用ctypes包中自带的函数get_clipboard和set_clipboard函数,可是但我动手实现时却发现根本没有这两个函数,于是我觉得自己写一篇文字讲述Python的剪切板,可能不全,敬请谅解。

网上看到有人说pandas包里有从剪切板到数据库的方法read_clipboard,于是通过阅读内部文件,发现了pandas的内部剪切板方法,我个人认为这是最好用的方法:

1. 使用pandas.io.clipboard的方法

安装有pandas包的小伙伴可以试一试,安装代码:Win+R输入pip install pandas

import pandas.io.clipboard as cb

cb.copy("复制内容")  # 复制到剪切板
print(cb.paste())   # 从剪切板粘贴(获取内容),并打印

2. 使用pyperclip的方法

安装有pyperclip包的小伙伴可以试一试,安装代码:Win+R输入pip install pyperclip

import pyperclip as cb

cb.copy("复制内容")  # 复制到剪切板
print(cb.paste())   # 从剪切板粘贴(获取内容),并打印

参考文章:python如何操作剪切板? | w3c笔记

3. 使用win32clipboard的方法

安装有win32clipboard 包的小伙伴可以试一试,安装代码:Win+R输入pip install win32clipboard

import win32clipboard as cb

cb.OpenClipboard()  # 打开剪切板
cb.SetClipboardData(1, "复制内容")  # 复制到剪切板
print(cb.GetClipboardData(1))      # 从剪切板粘贴(获取内容),并打印
cb.CloseClipboard()  # 关闭剪切板

参考文章:Python使用剪切板的方法(python 操作剪切板)-python教程-知优网

4. 使用os.system控制命令的方法

如果你用的Windows设备可以试一试,但这种方法只能复制,且末尾会多一个换行:

import os

os.system("echo 复制内容 | clip")  # 复制不含空格的文本到剪切板
# os.system("clip < 文件路径")     # 复制文件到剪切板

参考文章:【Python & Other】一网打尽 Python复制文本&文件到剪切板_是小菜欸的博客-CSDN博客_python 复制到剪贴板

5. 使用subprocess模块下的Popen方法

如果你用的苹果电脑或其他Mac设备可以试一试:

from subprocess import Popen, PIPE

def set_clipboard(data: str):  # 复制到剪切板
    with Popen(['pbcopy'], stdin=PIPE) as p:
        p.stdin.write(data.encode("utf-8"))
        p.stdin.close()
        p.communicate()

def get_clipboard():  # 从剪切板粘贴(获取内容)
    with Popen(['pbpaste'], stdout=PIPE) as p:
        p.wait()
        paste_bytes = p.stdout.read()
        p.stdout.close()
    return paste_bytes.decode('utf-8')

if __name__ == "__main__":
    set_clipboard('复制内容')  # 复制到剪切板
    print(get_clipboard())    # 从剪切板粘贴(获取内容),并打印

参考文章:Python 操作剪切板 | 操作

  • 18
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值