- 10.3. 命令行参数
10.3. 命令行参数
通用实用程序脚本通常需要处理命令行参数。这些参数作为列表存储在 sys
模块的 argv 属性中。例如,以下输出来自在命令行运行 python demo.py one two three
- >>> import sys
- >>> print(sys.argv)
- ['demo.py', 'one', 'two', 'three']
argparse
模块提供了一种更复杂的机制来处理命令行参数。 以下脚本可提取一个或多个文件名,并可选择要显示的行数:
- import argparse
- parser = argparse.ArgumentParser(prog = 'top',
- description = 'Show top lines from each file')
- parser.add_argument('filenames', nargs='+')
- parser.add_argument('-l', '--lines', type=int, default=10)
- args = parser.parse_args()
- print(args)
当在通过 python top.py —lines=5 alpha.txt beta.txt
在命令行运行时,该脚本会将 args.lines
设为 5
并将 args.filenames
设为 ['alpha.txt', 'beta.txt']
。