缘由
做中学才是最好的方法,通过这些项目来加强自己的Python掌握程度。
所有练习目录地址
题目描述:
一个字典中存在着账户和密码,通过命令行参数直接执行,查看是否有这个账户。
若有,则复制账户的密码到系统剪切板,若没有,则提示没有该账户。
例如,字典为PASSWORDS = {'email':'F7minlBDDuvMJuxESSKHFhTxFtjVB6','blog':'VmALvQyKAxiVH5G8v01if1MLZF3sdt','luggage': '12345'}
命令行运行
代码:
#! 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!'