开发者社区> 问答> 正文

解析命令行参数的最佳方法是什么?

解析Python命令行参数的最简单,最简洁,最灵活的方法或库是什么?

展开
收起
游客6qcs5bpxssri2 2019-09-05 22:23:30 679 0
1 条回答
写回答
取消 提交回答
  • 这个答案表明optparse适合旧的Python版本。对于Python 2.7及更高版本,argparse替换optparse。 正如其他人所指出的那样,你最好选择optparse而不是getopt。getopt几乎是标准getopt(3)C库函数的一对一映射,并不是很容易使用。

    optparse虽然有点冗长,但结构更好,后期更容易扩展。

    这是向解析器添加选项的典型行:

    parser.add_option('-q', '--query', action="store", dest="query", help="query string", default="spam") 它几乎说明了自己; 在处理时,它将接受-q或--query作为选项,将参数存储在名为query的属性中,如果不指定它,则具有默认值。它也是自我记录的,你可以使用该选项声明help参数(在使用-h / - help运行时将使用它)。

    通常你用以下方法解析你的参数:

    options, args = parser.parse_args() 默认情况下,这将解析传递给脚本的标准参数(sys.argv [1:])

    然后将options.query设置为您传递给脚本的值。

    您只需通过执行即可创建解析器

    parser = optparse.OptionParser() 这些都是您需要的基础知识。这是一个完整的Python脚本,显示了这一点:

    import optparse

    parser = optparse.OptionParser()

    parser.add_option('-q', '--query', action="store", dest="query", help="query string", default="spam")

    options, args = parser.parse_args()

    print 'Query string:', options.query 5行python,向您展示基础知识。

    将其保存在sample.py中,然后运行一次

    python sample.py 和一次

    python sample.py --query myquery 除此之外,您会发现optparse非常容易扩展。

    2019-09-05 22:24:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像