最近在网上搜索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 cbcb.copy("复制内容") # 复制到剪切板print(cb.paste()) # 从剪切板粘贴(获取内容),并打印
2. 使用pyperclip的方法
安装有pyperclip包的小伙伴可以试一试,安装代码:Win+R输入pip install pyperclip
import pyperclip as cbcb.copy("复制内容") # 复制到剪切板print(cb.paste()) # 从剪切板粘贴(获取内容),并打印
3. 使用win32clipboard的方法
安装有win32clipboard 包的小伙伴可以试一试,安装代码:Win+R输入pip install win32clipboard
import win32clipboard as cbcb.OpenClipboard() # 打开剪切板cb.SetClipboardData(1, "复制内容") # 复制到剪切板print(cb.GetClipboardData(1)) # 从剪切板粘贴(获取内容),并打印cb.CloseClipboard() # 关闭剪切板
参考文章:Python使用剪切板的方法(python 操作剪切板)-python教程-知优网
4. 使用os.system控制命令的方法
如果你用的Windows设备可以试一试,但这种方法只能复制,且末尾会多一个换行:
import osos.system("echo 复制内容 | clip") # 复制不含空格的文本到剪切板# os.system("clip < 文件路径") # 复制文件到剪切板
参考文章:【Python & Other】一网打尽 Python复制文本&文件到剪切板_是小菜欸的博客-CSDN博客_python 复制到剪贴板
5. 使用subprocess模块下的Popen方法
如果你用的苹果电脑或其他Mac设备可以试一试:
from subprocess import Popen, PIPEdef 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 操作剪切板 | 操作
来源地址:https://blog.csdn.net/Eric_Eric__/article/details/128925430