我剛剛開始學習python,並且我正在編寫的程序需要參數才能使其與特定任務一起運行。例如(程序名稱是Samtho)如何在python中創建程序啓動參數
samtho -i Mozilla_Firefox
我該怎麼做?
我剛剛開始學習python,並且我正在編寫的程序需要參數才能使其與特定任務一起運行。例如(程序名稱是Samtho)如何在python中創建程序啓動參數
samtho -i Mozilla_Firefox
我該怎麼做?
閱讀關於optparse的文檔。這是非常強大的,並會讓你很多參數和創建幫助文本。
您可以使用標準庫中的模塊optparse
和getopt
。前者更靈活,因此被推薦。
如果你想編寫你自己的解析器,那麼你將不得不檢查sys.argv
的內容。 sys.argv[0]
包含正在執行的程序的名稱。 sys.argv[1:]
是包含傳遞給程序的所有參數的列表。
這是使用optparse
最小例子(I通過手動設置sys.argv
模仿程序執行):
>>> import sys
>>> sys.argv = 'samtho -i Mozilla_Firefox'.split()
>>>
>>> from optparse import OptionParser
>>> parser = OptionParser()
>>> parser.add_option("-i")
<Option at 0xb7881b4c: -i>
>>> options, args = parser.parse_args()
>>> options
<Values at 0xb788958c: {'i': 'Mozilla_Firefox'}>
>>> options.i
'Mozilla_Firefox'
使用sys.argv
抓住輸入參數直接(import sys
第一個)。有許多不同的庫(optparse
和getopt
內置模塊很受歡迎)可幫助解析參數,但根據您需要的複雜程度進行原始匹配可能更容易。
如果您不介意從標準庫冒險,argparse通常被認爲是最好的參數解析。
我發現optfunc最簡單的庫使用。
import optfunc, sys
def samtho(i=''):
"Usage: %prog -i <option>"
print i
if __name__ == '__main__':
optfunc.run(samtho)