概述
- 安装pyperclip包
- paste方法使用
- copy方法使用
- 案例
安装命令
pip install –U pyperclip --user
paste方法
import pyperclip
#读取粘贴板数据为字符串
sourse=pyperclip.paste()
该方法读取粘贴版中的数据,返回值为字符串
copy方法使用
#将字符串放入粘贴板
#其中str为要写入的字符串
pyperclip.copy(str)
案例
选中上面部分字符串执行赋值操作,运行程序,粘贴数据得到下面对应的格式。具体实现如下
- 引入包文件将字符串存入变量中
import pyperclip
#读取粘贴板数据为字符串
sourse=pyperclip.paste()
- 将字符串进行格式化处理通过split方法以“\r\n”切割字符
#将数据存在List中方便读取
paseteList = sourse.split('\r\n')
- 初始化一个中转列表存储要输出的数据,中转列表的元素个数与paseteList长度相同
#设置输出格式列宽
twidth=25
#初始化缓存列表,依据paseList的长度
tempList=[x for x in paseteList]
- 读取列表内容设置每一行的格式,其中enumerate()返回的是一个元组构成的字典,元组组成为(index,value)
for item in enumerate(paseteList):
#将元组转化为列表
itList=list(item)
#格式化控制,在控制查看格式
print(str(itList[0])+itList[1].rjust(twidth))
#记事本右对齐问题解决
#将行数据存入列表
tempList[itList[0]]=str(itList[0])+itList[1].rjust(twidth-len(str(itList[0])))
- 将列表转化为字符串,格式化输出内容.
#将列表转化为String,做好格式化换行
endStr="\r\n".join(tempList)
#将字符串放入粘贴板
pyperclip.copy(endStr)
- 结果:
可能出现的问题
在控制台用rjust控制字符个数时右对齐的没什么问题,但是在记事本上,就没有右对齐,但字符长度肯定是一样的
发现是记事本上对字体显示的宽度不一样,如下图,一个a字符的宽度等于两个l字符的宽度
将记事本字体调整为宋体之后问题解决