Python实践练习:口令保管箱

缘由

做中学才是最好的方法,通过这些项目来加强自己的Python掌握程度。
所有练习目录地址

题目描述:

一个字典中存在着账户和密码,通过命令行参数直接执行,查看是否有这个账户。

若有,则复制账户的密码到系统剪切板,若没有,则提示没有该账户。

例如,字典为PASSWORDS = {'email':'F7minlBDDuvMJuxESSKHFhTxFtjVB6','blog':'VmALvQyKAxiVH5G8v01if1MLZF3sdt','luggage': '12345'}

命令行运行
image

代码:

#! python3
# pw.py - An insecure password locker program.

PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
'luggage': '12345'}

import sys, pyperclip

if len(sys.argv) < 2:
   print('Usage: python pw.py [account] - copy account password')
   sys.exit()

account = sys.argv[1] # first command line arg is the account name

if account in PASSWORDS:
   pyperclip.copy(PASSWORDS[account])
   print('Password for ' + account + ' copied to clipboard.')
else:
   print('There is no account named ' + account)

代码分析:

/#! python3
所有 Python 程序的第一行应该是#!行,它告诉计算机你想让 Python 来执行这个程序。该行以#!开始,但剩下的内容取决于操作系统。

sys.argv : 实现从程序外部向程序传递参数。

例子:
写sys.py

import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])

命令行运行:

$ python sys.py argv1 hahaha

输出:

sys.py
argv1
hahaha

pyperclip.copy(PASSWORDS[account])复制到系统剪切板
交互式环境:

>>> import pyperclip
>>> pyperclip.copy('Hello world!')
>>> pyperclip.paste()
'Hello world!'
原文地址:https://www.cnblogs.com/wudongwei/p/8986002.html