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()) # 从剪切板粘贴(获取内容),并打印
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 操作剪切板 | 操作
更多推荐
已为社区贡献3条内容
所有评论(0)