如果在运行python脚本时需要传入一些参数,例如mm与nn,可以使用如下两种方式。
python test.py 0,1,2 10
python test.py -mm=0,1,2 --nn=10
第一种格式对应的参数解析方式:sys.argv。
第二种格式对应的参数解析方式:argparse
, tf.app.run。
后者是tensorflow
提供的便捷方式。
sys.argv
解析:
封装了传入的参数数据
import sys
def work():
print len(sys.argv) # 结果:3
if len(sys.argv) < 2:
sys.exit("python error")
param1 = sys.argv[0]
param2 = sys.argv[1]
param3 = sys.argv[2]
# 第一种方式传入参数,显示的结果:test4.py 0,1,2 10
# 第二种方式传入参数,显示的结果:test4.py -mm=0,1,2 --nn=10
print param1, param2, param3
if __name__ == "__main__":
work()
sys模块是很常用的模块, 它封装了与python解释器相关的数据,例如:
sys.modules里面有已经加载了的所有模块信息,sys.path里面是PYTHONPATH的内容,而sys.argv则封装了传入的参数数据。
argparse解析:
https://blog.csdn.net/weixin_35653315/article/details/72886718