Python sys.argv和argparse

时间:2016-02-12 14:43:25

标签: python python-2.7 command-line-arguments

我一直在寻找从命令行运行脚本时为脚本添加参数值的方法。我发现似乎这样做的两个包是sys.argv和argparse。

如果可能,我还希望能够添加某种帮助功能。

有人可以解释两者之间的区别,或许对于有人开始会更容易吗?

2 个答案:

答案 0 :(得分:17)

sys.argv只是命令行参数的列表。

argparse是一个功能齐全的命令行解析器,通常解析 sys.argv并以更易于使用的方式返回数据。

如果您正在做一些比接受一些必要位置参数的脚本更复杂的事情,那么您将要使用解析器。根据您的python版本,python标准库中有3个(getoptoptparseargparse),argparse是目前最好的。

答案 1 :(得分:3)

我建议您使用argparse作为命令行参数,原因有两个。如文档中所指出的,制作arg非常简单,其次因为你想要一个帮助函数,argparse会免费提供它。

文档:https://docs.python.org/2/howto/argparse.html

如果您需要更多帮助,请与我联系。