首頁>Club>
3
回覆列表
  • 1 # 小小猿愛嘻嘻

    沒有貼圖,這個也不好說。python接受命令列引數的方法有好幾種,這裡我介紹2種比較簡單的方式,一種是sys.argv,一種是argparse,這兩種方法學起來很快就能掌握,實驗環境Centos7.0+python3.6+XShell5,主要步驟如下:

    1.利用sys.argv獲取命令列引數,這種方式常用也簡單,測試程式碼如下,主要是打印出指令碼名和傳入的引數:

    儲存指令碼為student.py,退出,開啟終端,在命令列下輸入一下命令"python student.py 181715 張三 24 男 北京市",程式執行截圖下圖,已經成功打印出引數:

    注意,這裡第一個引數是指令碼名,後面的引數透過空格進行區分,看起來很簡單,但是還有不足,不夠靈活,如下圖:

    我們希望name後是姓名,age後是年齡,顯然事與願違,這裡就引進了argparse這種方法。

    2.利用argparse獲取命令列引數,這個方式能靈活一些。

    首先,安裝的話,直接輸入命令"pip install argparse"就行,線上安裝,很快:

    主要測試程式碼如下,這裡主要添加了username,password這兩個引數:

    儲存指令碼為arg.py,退出到終端,輸入如下命令"python arg.py --username 小涵 --password xh__123",程式執行截圖如下,已經成功打印出這兩個引數:

    如果不傳入任何引數,則打印出引數的預設值,如下:

    這種方法相對來說能靈活一些,可以在輸入時,指定引數的型別,像int,float,str等,但對於list型別,處理起來可能比較麻煩一些,有時需要手動解析。

    至此,這2種簡單的方式就介紹完畢了。可看的出來,這兩種方式都比較簡單,完全可以滿足基本的需求,當然還有許多其他的獲取命令列引數的方法,像getopt模組等,這裡我就不詳細介紹了,感興趣的話,可以到網上搜搜從相關教程,瞭解一下,會快就能掌握。這裡以Linux平臺為例,其實和windows平臺一樣,都可以正常執行,這裡不再演示,希望以上分享的內容能對你有所幫助吧。

  • 中秋節和大豐收的關聯?
  • 為什麼很少有人粉舉重運動員?