命令行运行python脚本时传入参数的三种方式

sys.argv

sys模块是很常用的模块, 它封装了与python解释器相关的数据,例如sys.modules里面有已经加载了的所有模块信息,sys.path里面是PYTHONPATH的内容,而sys.argv则封装了传入的参数数据。 使用sys.argv接收上面第一个命令中包含的参数方式如下:

1
2
3
import sys

print(sys.argv[0],sys.argv[1],sys.argv[2])

其中sys.argv[0]是该脚本的名称,sys.argv[1]才是第一个参数,sys.argv是一个列表

用这种方式,命令行调用方式为:

python script.py parameter1 parameter2

argparse

1
2
3
4
5
6
7
8
9
10
11
import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')

args = parser.parse_args()
print(args.accumulate(args.integers))