[Python] sys.argv命令行參數傳入


書上一道題需要實現功能"根據賬號查詢密碼, 復制密碼到剪貼板". 賬號和密碼儲存在代碼字典中. 

問題描述:

作為Python新手從代碼(如下)看只知道:

1. sys.argv初始包含一行文件路徑.

2. 需要將待查詢的賬號傳入sys.argv.

怎么操作呢?

#! python3
#pw.py - An inssecure password locker program.
#Run this program in  CMD, parameter (account) load after filename. Like: pw.py email

PASSWORDS={'email':'F7minlBDDuvJJux', 'blog':'VmALvWyKAxiVH5','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)
              

 

解決思路:

命令行參數, 通過命令行來操作了.

在CMD中cd到pw.py的目錄下, 敲如命令時將參數置於文件名之后. 如下圖, 搞定了.

D:\DIV\PyScripts>pw.py blog
Password for blog copied to clipboard.

D:\DIV\PyScripts>pw.py luggage
Password for luggage copied to clipboard.

D:\DIV\PyScripts>pw.py email
Password for email copied to clipboard.

D:\DIV\PyScripts>

 


 

備注:

sys.argv用import導入, 初始值是運行文件所在路徑+文件名, 傳入賬號之后賬號的值被添加到了sys.argv中, 如下:

['D:\\DIV\\PyScripts\\pw.py', 'email']

程序運行完成之后再試圖打印sys.argv就不行了, 傳入的參數被釋放.

 

以上是Python新手對於sys.argv的一點粗淺認識, 如果有沒理解對的地方, 歡迎各位指正.

 


免責聲明!

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



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