緣由
做中學才是最好的方法,通過這些項目來加強自己的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!'