# coding:utf-8

import tensorflow as tf

tf.app.flags.DEFINE_string('name', '未知', "姓名")
tf.app.flags.DEFINE_integer('age', 0, "年龄")
tf.app.flags.DEFINE_boolean('is_boy', True, "是男生")

FLAGS = tf.app.flags.FLAGS


def main(_):
    """
    :param _: main必须带参数,否则:'TypeError: main() takes no arguments (1 given)', main的参数名随意定义,无要求
    :return: 只打印信息,不返回数据
    """
    display_content = "姓名:{name}\r\n年龄:{age}\r\n是男生:{is_boy}".format(
                            name=FLAGS.name, age=FLAGS.age, is_boy=FLAGS.is_boy
                        )
    print(display_content)

if __name__ == '__main__':
    tf.app.run()  #执行main函数
# coding: utf8

import tensorflow as tf

#调用flags内部的DEFINE_string函数来制定解析规则
tf.app.flags.DEFINE_string("para_name_1","default_val", "description")
tf.app.flags.DEFINE_bool("para_name_2", False, "description")

#FLAGS是一个对象,保存了解析后的命令行参数
FLAGS = tf.app.flags.FLAGS

def main(_):
    print(FLAGS.para_name_1)

if __name__ == "__main__": #使用这种方式保证了,如果此文件被其它文件import的时候,不会执行main中的代码

    tf.app.run() #解析命令行参数,调用main函数 main(sys.argv)