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!'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM