学了Python这么久,今天发现对使用命令行+参数运行一无所知,实在是惭愧。简单学习了一下,并加以记录。
使用之前需要导入库argparse
import argparse
然后实例化ArgumentParser对象
parser = argparse.ArgumentParser(description='parser example')
有了实例化对象之后,可以向其中加入参数
parser.add_argument('--seed',default=1,type=int,help='Random seed')
parser.add_argument('--lr',default=0.1,type=float,help='learning rate')
parser.add_argument('--datapath', default='../../dataset/', type=str, help='dataset path')
完整main函数
if __name__ == '__main__':
# print_hi('PyCharm')
parser = argparse.ArgumentParser(description='parser example')
parser.add_argument('--seed',default=1,type=int,help='Random seed')
parser.add_argument('--lr',default=0.1,type=float,help='learning rate')
parser.add_argument('--datapath', default='../../dataset/', type=str, help='dataset path')
args = parser.parse_args()
print(args.lr)
print(args.seed)
命令行执行命令:
python main.py --lr 0.05 --seed 2
输出:
0.05
2
可以看到,这里输出的是我们输入的参数0.05和2,如果我们明确指定参数,则会返回default值,也就是我们定义的0.1和1
命令行命令执行格式:
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
参考
[1]: https://zhuanlan.zhihu.com/p/606472791