1. 程式人生 > >python學習之argparse模塊

python學習之argparse模塊

set argument file print red parser test handle rgs

一、簡介:

argparse是python用於解析命令行參數和選項的標準模塊,用於代替已經過時的optparse模塊。argparse模塊的作用是用於解析命令行參數,例如python parseTest.py input.txt output.txt --user=name --port=8080。

二、使用步驟:

1:import argparse

2:parser = argparse.ArgumentParser()

3:parser.add_argument()

4:parser.parse_args()

解釋:首先導入該模塊;然後創建一個解析對象;然後向該對象中添加你要關註的命令行參數和選項,每一個add_argument方法對應一個你要關註的參數或選項;最後調用parse_args()方法進行解析;解析成功之後即可使用,下面簡單說明一下步驟2和3。

三、方法ArgumentParser(prog=None, usage=None,description=None, epilog=None, parents=[],formatter_class=argparse.HelpFormatter, prefix_chars=‘-‘,fromfile_prefix_chars=None, argument_default=None,conflict_handler=‘error‘, add_help=True)

這些參數都有默認值,當調用parser.print_help()或者運行程序時由於參數不正確(此時python解釋器其實也是調用了pring_help()方法)時,會打印這些描述信息,一般只需要傳遞description參數,如上。

四、方法add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

其中:

name or flags:命令行參數名或者選項,如上面的address或者-p,--port.其中命令行參數如果沒給定,且沒有設置defualt,則出錯。但是如果是選項的話,則設置為None

nargs:命令行參數的個數,一般使用通配符表示,其中,‘?‘表示只用一個,‘*‘表示0到多個,‘+‘表示至少一個

default:默認值

type:參數的類型,默認是字符串string類型,還有float、int等類型

help:和ArgumentParser方法中的參數作用相似,出現的場合也一致

python學習之argparse模塊