#38 python操作剪切板

 2023-09-07 阅读 30 评论 0

摘要:搞了个算法小测试,发现还是python写东西舒服,c系列太烦杂了,python大法好! 操作剪切板(需要pywin32库) 导入模块 import win32clipboard as w 读取实现 def getclipboard():w.OpenClipboard()data= w.GetClipboardData()w.CloseClipboard()return da

搞了个算法小测试,发现还是python写东西舒服,c系列太烦杂了,python大法好!

操作剪切板(需要pywin32库)

导入模块

import win32clipboard as w

读取实现

def getclipboard():w.OpenClipboard()data= w.GetClipboardData()w.CloseClipboard()return data

写入实现

def setclipboard():w.OpenClipboard()w.SetClipboardData(w.CF_UNICODETEXT, "nihao")w.CloseClipboard()

相关函数

w.EmptyClipboard() # 清空剪切板

剪切板不包括、分析

  • 占用空间小,实现依赖python自带库
  • 速度快
  • 可能出错(?)

操作剪切板(需要pyperclip库)

导入模块

import pyperclip

相关函数

pyperclip.paste() # 读取剪切板
pyperclip.copy(str) # str参数自由更改

分析

  • 速度慢
  • 实现涉及qt5
  • 较稳定(?)

附录

各种测试

# 绕圈子代码
def getclipboard():w.OpenClipboard()t = w.GetClipboardData(w.CF_TEXT) # 返回bytes二进制字符串b'XXX'# t = str(t, encoding = "utf8") # 遇到中文就ggt = str(t, encoding = "GBK")w.CloseClipboard()return t
# 测试加参影响
def getclipboard():w.OpenClipboard()data = w.GetClipboardData(w.CF_UNICODETEXT) # 和无参好像没差w.CloseClipboard()return data
# 测试用代码
import win32clipboard as wdef getclipboard():w.OpenClipboard()data = w.GetClipboardData()w.CloseClipboard()return datastr = getclipboard()print(str)
print(type(str))
# 无效代码
def setclipboard():w.OpenClipboard()w.SetClipboardData(w.CF_TEXT, "yes") # 无效,原因不明w.CloseClipboard()# return False
# 另一种设置剪切板方式
def setclipboard():w.OpenClipboard()w.EmptyClipboard() # 必须加这一行,否则无效w.SetClipboardText("yes") # 加参没影响(?)w.CloseClipboard()

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/23524.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息