我正在寻找一种有效的方法来编写可以使用连字符 - 单字母 - 空格 - 参数约定调用的python脚本(例如python script.py -f /filename -t type -n 27
,其中f
,{{1 }},t
是与选项类型对应的单个字母,n
,/filename
和type
是它们的值)。我知道27
库及其sys
函数是在调用之后抓取空格分隔的字符串的一种方法(参见call program with arguments),但是有一种复杂的方法可以处理这些当他们遵循上述惯例时的字符串?
答案 0 :(得分:4)
你想要python标准库中的argparse
module。
argparse模块包含一个ArgumentParser
类,您可以使用它来解析sys.argv
提供的参数
用法示例:
import argparse
import sys
parser = argparse.ArgumentParser(description="Does some awesome things.")
parser.add_argument('message', type=str, help="pass a message into the script")
if __name__ == '__main__':
args = parser.parse_args(sys.argv[1:])
print args.message
有关更多详细信息,例如如何合并可选参数,默认参数和多个参数,see the documentation。