Python基础知识:命令行运行Python脚本传入参数的方式

一、sys模块

sys.argv可以获取命令行中传入参数的个数。需要注意的是,sys.argv[0]存的是python的名字,从sys.argv[1]开始才是传入的参数。比如:

python 1.py 1 2 3

此时sys.argv的结果为:

sys.argv[0]: 1.py
sys.argv[1]: 1
sys.argv[2]: 2
sys.argv[3]: 3

以下是它的一种用法:获取所有的参数,并且打印出来

import sys
args = []
for i in range(1, len(sys.argv)):
	args.append(sys.argv[i])
for arg in args:
	print(arg)

二、argparse模块

argparse不仅可以传参数,还可以为参数设置相应的名字,然后通过argparse.ArgumentParser对象直接解析参数。这种方式使得命令行的含义更加清楚。
比如对于命令行脚本:

python 1.py --sentence=Iloveyou --results=forever

现在需要解析出两个参数的值:Iloveyou、forever就可以用argparse模块。
用法如下:

import argparse
parser = argparse.ArgumentParser(description='manual to this script')

# 第一个实参就是命令行等号左边的参数的名字
# 第二个实参是传入参数的类型
# 第三个实参是传入参数的默认值
parser.add_argument('--sentence', type=str, default=None)
parser.add_argument('--results', type=str, default=None)
args = parser.parse_args()
print (args.sentence)
print (args.results)

你可能感兴趣的:(python基础知识)