Python:剪切板的读取&写入

本文介绍了pyperclip库的基本使用方法,包括如何通过copy()方法将文本写入剪切板以及如何通过paste()方法从剪切板读取文本。
部署运行你感兴趣的模型镜像

前期准备

使用演示

  • pyperclip有2个方法copy() + paste()
  • copy():将字符串写入剪切板,可在pc上直接粘贴使用,可至直接只用paste()方法读取
  • paste():读取剪切板内容
import pyperclip


pyperclip.copy('The text to be copied to the clipboard.')
pyperclip.paste()	# 'The text to be copied to the clipboard.'
print(f"我是复制的内容:{pyperclip.paste()}")
我是复制的内容:The text to be copied to the clipboard.

进程已结束,退出代码 0

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 通过Python访问剪切板内容的方法 Python提供了多种方式来访问或操作剪切板内容,这对于自动化脚本、文本处理以及与其他应用程序交互非常有用。 #### 使用 `pyperclip` 库 `pyperclip` 是一个简单易用的第三方库,专门用于读取写入剪切板内容。它支持 Windows、macOS 和 Linux 系统,并提供了统一的 API 接口[^2]。 安装 `pyperclip`: ```bash pip install pyperclip ``` 示例代码: ```python import pyperclip # 读取剪切板内容 clipboard_content = pyperclip.paste() print("剪切板内容为:", clipboard_content) # 写入新内容到剪切板 pyperclip.copy("这是新复制的内容") ``` #### 使用 `tkinter` 模块 `tkinter` 是 Python 自带的 GUI 工具包,它也可以用于访问剪切板内容。这种方法无需额外安装依赖,适用于简单的剪切板操作。 示例代码: ```python import tkinter as tk # 创建主窗口(不显示) root = tk.Tk() root.withdraw() # 读取剪切板内容 clipboard_content = root.clipboard_get() print("剪切板内容为:", clipboard_content) # 写入新内容到剪切板 root.clipboard_clear() root.clipboard_append("这是新复制的内容") ``` #### 使用 `ctypes` 模块 `ctypes` 是 Python 的内置模块,可以调用 C 语言编写的动态链接库。通过它,可以与 Windows API 交互来操作剪切板。这种方法适用于 Windows 平台。 示例代码(仅限 Windows): ```python import ctypes # 获取剪切板数据(UTF-8 编码) def get_clipboard_text(): user32 = ctypes.windll.user32 kernel32 = ctypes.windll.kernel32 user32.OpenClipboard(0) if user32.IsClipboardFormatAvailable(13): # CF_UNICODETEXT data = user32.GetClipboardData(13) kernel32.GlobalLock.argtypes = [ctypes.c_void_p] kernel32.GlobalLock.restype = ctypes.c_void_p pchar = kernel32.GlobalLock(data) ctypes.pythonapi.PyBytes_FromStringAndSize.restype = ctypes.py_object ctypes.pythonapi.PyBytes_FromStringAndSize.argtypes = [ctypes.c_char_p, ctypes.c_size_t] clip_text = ctypes.pythonapi.PyUnicode_FromUnicode(pchar, 255) kernel32.GlobalUnlock(data) user32.CloseClipboard() return clip_text else: user32.CloseClipboard() return "" # 写入剪切板数据 def set_clipboard_text(text): user32 = ctypes.windll.user32 kernel32 = ctypes.windll.kernel32 user32.OpenClipboard(0) user32.EmptyClipboard() hglob = kernel32.GlobalAlloc(0x2000, (len(text) + 1) * 2) p = kernel32.GlobalLock(hglob) ctypes.cdll.msvcrt.wcscpy(ctypes.c_wchar_p(p), text) kernel32.GlobalUnlock(hglob) user32.SetClipboardData(13, hglob) user32.CloseClipboard() # 示例调用 set_clipboard_text("这是新复制的内容") print("剪切板内容为:", get_clipboard_text()) ``` #### 使用 `pywin32` 模块(仅限 Windows) `pywin32` 是一个用于与 Windows API 交互的 Python 扩展模块,它可以用来访问剪切板。 安装 `pywin32`: ```bash pip install pywin32 ``` 示例代码: ```python import win32clipboard # 打开剪切板 win32clipboard.OpenClipboard() # 获取剪切板内容 data = win32clipboard.GetClipboardData() print("剪切板内容为:", data) # 关闭剪切板 win32clipboard.CloseClipboard() ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值