2013-12-23 71 views
0

我知道如何使用sys.argv在python(2)中使用命令行參數,但是還有一種方法可以讓程序具有類似bash的選項嗎? (例如myprogram --helppython程序中的命令行選項

+4

[argparse](http://docs.python.org/dev/library/argparse.html) – alko

+0

很抱歉,如果它是一個明顯和愚蠢的問題,但我是一個新手。 – MadTux

+0

@MadTux - 我認爲downvotes與此無關。最有可能的是,他們是因爲沒有展示任何研究工作或試圖自己解決這個問題。爲新手下了決心,但構建得恰當的問題違背了本網站的精神。 – iCodez

回答

1

這是很容易做手工:

for a in sys.argv[1:]: 
    if a.startswith("-"): 
     if a == "--help": 
      do_help() 
     else: 
      do_usage() 
    else: 
     # handle command line arg 

雖然有像​​存在做一些這方面的工作對你的圖書館,這是值得了解的基本概念是超簡單。

+0

雖然它們是「特殊的」,但是?或者他們只是用' - '或' - '作爲平常的論點? – MadTux

+0

沒什麼特別的。 'sys.argv'只是空格分隔的單詞。 –

+0

我最喜歡這種方式,因爲它可以很好地與靜態分析器(如pylint)一起玩。 – dstromberg