如何检查sys.argv参数是否等于Python中的特定字符串

时间:2015-06-06 14:55:14

标签: python-2.7 argv

在Python中,我想检查传递给我的脚本的任何参数是否等于“-h”(以便我可以显示帮助横幅并退出)。

我应该循环访问sys.argv值还是有更简单的方法来实现它?

4 个答案:

答案 0 :(得分:3)

只需检查列表中是否存在所需的字符串:

import sys

if "__main__" == __name__:
    if "-h" in sys.argv:
        print "This is a help text."

答案 1 :(得分:1)

import sys

def help_required():
    return "-h" in sys.argv[1:]

答案 2 :(得分:0)

你可以用lebeef和dlask提到的东西来实现。我更喜欢使用fileinput,它更加sophcicated。您可以导入fileinput

import fileinput
if "-h" in fileinput.input():
   display_help_text()

答案 3 :(得分:0)

如果您要做的只是在参数中搜索-h,那么您可以遍历sys.argv列表并查看是否找到该值。

然而,看起来您实际试图解决的问题是为命令行参数创建解析器。如果是这种情况,我认为最好的方法是使用旨在解决这个问题的argparse module并避免重新发明轮子。默认情况下,argparse会在-h--help中添加帮助选项。 (但是,如果需要,可以更改默认行为,请参阅处理该文档的部分文档:https://docs.python.org/3/library/argparse.html#add-help