在Python中,我想检查传递给我的脚本的任何参数是否等于“-h”(以便我可以显示帮助横幅并退出)。
我应该循环访问sys.argv值还是有更简单的方法来实现它?
答案 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)