1. 程式人生 > >[Python] sys.argv命令行參數傳入

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

spa 圖打印 clas else 釋放 style this 命令行 [1]

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

問題描述:

作為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的一點粗淺認識, 如果有沒理解對的地方, 歡迎各位指正.

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