前言
如果在运行python脚本时需要传入一些参数,可以使用如下两种方式:
python 命令行传参.py "参数1" "参数2"
python 命令行传参.py --name=参数1 --sex=参数2
sys.argv
sys模块是python常用的一个模块,封装了python解释器相关的数据 .sys.argv
封装了传入的参数数据。
使用sys.argv
接收上面第一个命令中包含的参数方式
import sys
name = sys.argv[1]
sex = sys.argv[2]
print(name)
print(sex)
argparse
import argparse
parser = argparse.ArgumentParser(description='example')
parser.add_argument('--name', type=str, default = None)
parser.add_argument('--sex', type=str, default="男")
args = parser.parse_args()
print(args.name)
print(args.sex)
parser.add_argument
方法的type
参数理论上可以是任何合法的类型, 但有些参数传入格式比较麻烦,例如list,所以一般使用bool
, int
, str
, float
这些基本类型就行了,更复杂的需求可以通过str
传入,然后手动解析。bool
类型的解析比较特殊,传入任何值都会被解析成True
,传入空值时才为`False
网友评论