python Argparse中的额外字符?
我有一个argparse函数:python Argparse中的额外字符?,python,argparse,Python,Argparse,我有一个argparse函数: def argParse(): # Possible Arguments parser = argparse.ArgumentParser() parser.add_argument("-s", "--search", dest="s", help="Seach parameters") parser.add_argument("-d", "--directory", dest="d", help="Choose Directory to save data")
def argParse():
# Possible Arguments
parser = argparse.ArgumentParser()
parser.add_argument("-s", "--search", dest="s", help="Seach parameters")
parser.add_argument("-d", "--directory", dest="d", help="Choose Directory to save data")
args = parser.parse_args()
params = str(args.s)
directory = str(args.d)
if params == "None":
print("Search parameters are null, exiting program.")
parser.print_help()
exit(1)
if directory == "None":
print("directory is null, storing to current working directory.")
但是,它在使用输出中增加了一个额外的国会大厦S和D?你知道怎么清理吗
usage: scan.py [-h] [-s S] [-d D]
optional arguments:
-h, --help show this help message and exit
-s S, --search S Seach parameters
-d D, --directory D Choose Directory to save data
我认为您正在寻找
metavar
kwarg
试试这个:
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-s', '--search', dest='s', metavar='\b', help='Search parameters')
args = parser.parse_args()
parse_args()
\b
是退格字符,因此它也会删除两个字符之间的空格,
与使用“
相反,我认为它在初始变量名后仍会留下一个空格
python argparse_test.py-h的输出
是的,这是一个占位符,表示在
-xxx
开关后应该输入的内容。@COLDSPEED我如何消除它?为什么要这样做?你想让用户更难理解你的程序应该输入什么吗?谢谢@Jebby,我很感激!
usage: argparse_test.py [-h] [-s]
optional arguments:
-h, --help show this help message and exit
-s, --search Search parameters