在python脚本中使用命令行参数

Hom*_*lli 3 python optparse argparse

我对python比较陌生.我想写一个脚本并传递它的参数如下:

myscript.py --arg1=hello --arg2=world
Run Code Online (Sandbox Code Playgroud)

在脚本中,我想访问参数arg1和arg2.任何人都可以解释如何以这种方式访问​​命令行参数?

Chr*_*ris 5

Argparse是标准库的一部分(从版本2.7和3.2开始).这是我用来处理所有命令行解析的模块,尽管还有optparse(现已弃用)和getopt.

以下是如何使用argparse的简单示例:

import sys, argparse

def main(argv=None):

    if argv is None:
        argv=sys.argv[1:]

    p = argparse.ArgumentParser(description="Example of using argparse")

    p.add_argument('--arg1', action='store', default='hello', help="first word")
    p.add_argument('--arg2', action='store', default='world', help="second word")

    # Parse command line arguments
    args = p.parse_args(argv)

    print args.arg1, args.arg2

    return 0

if __name__=="__main__":
    sys.exit(main(sys.argv[1:]))
Run Code Online (Sandbox Code Playgroud)

编辑:注意在调用add_argumentsmake arg1arg2optional参数时使用前导' - ' ,所以我提供了默认值.如果你想要编程需要两个参数,删除这两个主要的超额,它们将成为必需的参数,你将不需要该default=...选项.(严格来说,您也不需要该action='store'选项,因为store它是默认操作).