• 10.3. 命令行参数

    10.3. 命令行参数

    通用实用程序脚本通常需要处理命令行参数。这些参数作为列表存储在 sys 模块的 argv 属性中。例如,以下输出来自在命令行运行 python demo.py one two three

    1. >>> import sys
    2. >>> print(sys.argv)
    3. ['demo.py', 'one', 'two', 'three']

    argparse 模块提供了一种更复杂的机制来处理命令行参数。 以下脚本可提取一个或多个文件名,并可选择要显示的行数:

    1. import argparse
    2.  
    3. parser = argparse.ArgumentParser(prog = 'top',
    4. description = 'Show top lines from each file')
    5. parser.add_argument('filenames', nargs='+')
    6. parser.add_argument('-l', '--lines', type=int, default=10)
    7. args = parser.parse_args()
    8. print(args)

    当在通过 python top.py —lines=5 alpha.txt beta.txt 在命令行运行时,该脚本会将 args.lines 设为 5 并将 args.filenames 设为 ['alpha.txt', 'beta.txt']