python获取命令行参数 flags_命令行参数--tf.app.flags和python argparse

本文介绍了在TensorFlow中通过tf.app.flags组件和argparse库来获取命令行参数的方法。tf.app.flags允许定义不同类型的参数,并在运行脚本时修改默认值。而argparse是Python的命令行解析工具,用于处理程序的输入参数,包括定位参数和可选参数。通过这两个工具,开发者可以更灵活地控制和交互他们的Python程序。
摘要由CSDN通过智能技术生成

在实际工作中我们一般通过运行脚本时获取命令行的参数,有两种方式:

一、利用tf.app.flags组件

tf定义了tf.app.flags,用于接受命令行传递参数,相当于接受argv。首先调用自带的DEFINE_string,DEFINE_boolean DEFINE_integer, DEFINE_float设置不同类型的命令行参数及其默认值。当然,也可以在终端用命令行参数修改这些默认值。

import tensorflow as tf

flags = tf.app.flags

############################

# hyper parameters #

############################

# For separate margin loss

flags.DEFINE_float('m_plus', 0.9, 'the parameter of m plus')

flags.DEFINE_boolean('Boolean', True, 'the parameter of test boolean')

flags.DEFINE_string('testString', "String", 'The parameter of test string')

FLAGS = tf.app.flags.FLAGS

def main(_):

print(FLAGS.m_plus)

print(FLAGS.m_minus)

print(lambda_val)

if __name__ == '__main__':

tf.app.run() #执行main函数

利用python的argparse包

argparse是python的命令行解析工具,可以在python代码中调用shell的一些命令。tensorflow的一些例子中用argparse来定义一些默认命令,通常是全局变量,也是用作和系统命令之间交互的全局设置。argparse包的使用方法如下:

1.导入argparse模块

import argparse

2. 创建解析器对象ArgumentParser,可以添加参数

parser=argparse.ArgumentParser(description="This is a example program ")

3. add_argument()方法,用来指定程序需要接受的命令参数

parser.add_argument("--echo",type=str,default='hi',dest='m',help="echo the string you use here")

parser.add_argument("--square",type=int,default= 9 ,dest='n',help="display a square of a given number")

args = parser.parse_args()

定位参数:

parser.add_argument("echo",help="echo the string")

可选参数: 在执行程序的时候,定位参数必选,可选参数可选。

add_argument()常用的参数:dest:如果提供dest,例如dest="a",那么可以通过args.a访问该参数

print(args.m)

print(args.n)

例程完整代码如下

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("--echo",type=str,default='hi',dest='m',help="echo the string you use here")

parser.add_argument("--square",type=int,default= 9 ,dest='n',help="display a square of a given number")

args = parser.parse_args()

print(args.m)

print(args.n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值