python 复制与粘贴处理笔记
在python中用有一个模块可以用来处理剪切板复制的内容,pyperclip模块
pyperclip模块有copy()和paste()函数,分别用于向计算机的剪贴板发送文本,或从它接受文本。
pyperclip模块不是python自带的。所以要安装这个模块,例如 pip install pyperclip
下面就这个模块的使用简单举例:
1.例题1
创建一个文件用来存储你的多个账户的密码应用: (假设创建的py文件名为 :pw.py)
#!python3
PASSWORDS = {'email':'adjofahoweghowaehgg',
'blog':'GEAGefwegEgeghfewEGEege呵呵跟了猴哥hhaji',
'luggage':'12345'}
import sys,pyperclip
if len(sys.argv) < 2:
print('请输入:py pw.py 帐号名 -以确认用于查询相应的密码')
sys.exit()
account = sys.argv[1]
if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print('Password for ' + account + ' 已经复制,请粘贴使用')
else:
print('系统中无此账户的记录')
运行如下:
python pw.py blog
Password for blog已经复制,请粘贴使用
运行程序后,内容已经自动到你的电脑的剪贴板上面,你直接粘贴使用即可;这种方法可以用于管理你的账户密码,无论设置多复杂的密码都不用担心记不住,直接粘贴使用即可;
例题2:
上面例题有提到对剪贴板内容的复制和粘贴,但有的时候我们复制的内容,我们想对复制的内容添加进去我们自己想要设定的东西,下面我们用例题来分析:
例如,我们在电脑上面复制了一段文本,内容如下:
List of animals
Lists of aquarium life
Lists of biologists by author abbreviation
List of cultivars
我们想要在这段文本的每行前面都加上一个‘*’号
代码:
#!python3
import pyperclip
text = pyperclip.paste() #将我们已经复制到电脑剪贴板准备粘贴的内容 赋给text
lines = text.split('\n') #split()方法用于指定以某个字符来分割字符串 例如:spam = "hello i'm peter" spam.split("'") 输出的是:['hello i', 'm peter']
for i in range(len(lines)):
lines[i] = '*' + lines[i]
text = '\n'.join(lines) #lines 通过处理出来是一个字符列表,而text是需要一个字符串,因此需要用到join来连接各列表中的各字符串
pyperclip.copy(text)
#join方法 在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。
如: ','.join['cats','rats','bats']
out:'cats,rats,bats'
' 'join['cats','rats','bats']
out: 'cat rats bats'