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

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

1、代码部分

#! python3
#pw.py - An insecure password locker program
#path='E:/应用文件/spyder/让繁琐工作自动化'
PASSWORDS = {"百度账号":'1234',
             "QQ":"yaashayang"
        }

import sys,pyperclip
if 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”,点击“确定”,会跳出提示窗口,并将密码复制到剪贴板上

《python编程快速上手》学习笔记-----口令保管箱_第1张图片

《python编程快速上手》学习笔记-----口令保管箱_第2张图片

右键粘贴内容:
yaashayang


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

#! python3
#pw.py - An insecure password locker program
PASSWORDS = {'百度账号':{'曾只猪':'33b6b','海角徒':'30eo'},
             'QQ':{'30922060':'se23fdd','44528384':'seio3(&'},
             'CSDN':{'18814323812':'esefsec34'}
        }

import sys,pyperclip
if 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] 获取第一个账户的名称。这样的一长串,仿若自己是个智障,可是想不到其他好一点的写法,先智障着。

结果:
《python编程快速上手》学习笔记-----口令保管箱_第3张图片

你可能感兴趣的:(Python基础)