《python编程快速上手》学习笔记-----口令保管箱

来源:互联网 发布:fluent分析软件 编辑:程序博客网 时间:2024/06/06 03:36

课本项目一:口令保管箱
目的:用于保存各种账号的密码,输入账户后会将账户密码拷贝到剪贴板,可直接粘贴到网站的密码输入框
知识点:pyperclip模块的应用、快捷执行py文件

1、代码部分

#! python3#pw.py - An insecure password locker program#path='E:/应用文件/spyder/让繁琐工作自动化'PASSWORDS = {"百度账号":'1234',             "QQ":"yaashayang"        }import sys,pyperclipif len(sys.argv)<2:    print('Usage:python pw.py [account] - copy account password')    sys.exit()account = sys.argv[1]if account in PASSWORDS:    pyperclip.copy(PASSWORDS[account])    print('password in ' + account + ' is ' + PASSWORDS[account])else:    print('There is no account named ' + account)

2、建立bat文件。
将代码保存,以管理员身份运行记事本,建立一个bat批处理文件,内容:

@python.exe E:\应用文件\spyder\让繁琐工作自动化\pw.py %*
@pause

保存为pw.bat文件,保存在‘E:\应用文件\spyder\让繁琐工作自动化’中
3、设置环境变量,将bat文件所在路径加入Path变量中

4、win + R 打开运行窗口,输入 “pw QQ”,点击“确定”,会跳出提示窗口,并将密码复制到剪贴板上

右键粘贴内容:
yaashayang


考虑到平常的账号组成,方便自己使用,完善一下代码,主要是将账户密码的存储变复杂了(滑稽)。
代码:

#! python3#pw.py - An insecure password locker programPASSWORDS = {'百度账号':{'曾只猪':'33b6b','海角徒':'30eo'},             'QQ':{'30922060':'se23fdd','44528384':'seio3(&'},             'CSDN':{'18814323812':'esefsec34'}        }import sys,pyperclipif len(sys.argv)<2:    print('enter the purpose after the order')    sys.exit()purpose = sys.argv[1]if purpose in PASSWORDS:    print(purpose +'\'s name is \t  password is' )    for name,pw in PASSWORDS[purpose].items():        print('\t' +name + '\t' + pw)    pyperclip.copy(PASSWORDS[purpose][list(PASSWORDS[purpose].keys())[0]])    print('copy the first password')else:    print('you don\'t creat a ' + purpose+ ' account')

如果有多个账号,则默认将第一个账号的密码复制到剪贴板。
list(PASSWORDS[purpose].keys())[0] 获取第一个账户的名称。这样的一长串,仿若自己是个智障,可是想不到其他好一点的写法,先智障着。

结果:
这里写图片描述