2013-04-03 169 views
0

我有以下脚本:说明参数argparse.ArgumentParser()函数

import argparse 

TEST_DESCRIPTION = """ 
This script issues the following commands: 
    1. Command1 
    2. Command2 
    3. Command3 
""" 

parser = argparse.ArgumentParser(description=TEST_DESCRIPTION) 
args = parser.parse_args() 

打印(TEST_DESCRIPTION)

不使用任何选项,输出的是如我所料(用适当的换行和缩进)

# ./test2.py 

This script issues the following commands: 
    1. Command1 
    2. Command2 
    3. Command3 

然而,当我使用“-h”选项,似乎换行和凹痕从TEST_DESCRIPTION删除当它传递到argparse.ArgumentParser()。

# ./test2.py -h 
usage: test2.py [-h] 

This script issues the following commands: 1. Command1 2. Command2 3. Command3 

optional arguments: 
    -h, --help show this help message and exit 

反正当它传递给argparse.ArgumentParser它是写我可以保留TEST_DESCRIPTION的格式()。 (我想使它成为一个原始字符串,插入\ N,但没有运气。)

回答

2

你需要RawTextHelpFormatter,这是正确的,在文档:

parser = argparse.ArgumentParser(description=TEST_DESCRIPTION, 
           formatter_class=argparse.RawTextHelpFormatter)