命令行解析
IDE内点击Run运行代码直接得出结果 VS 基于TF flags(或argparse库)在Dos内命令行(一条命令)调用代码文件得出结果
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string('train_dir', '/tmp/cifar10_train',
"""Directory where to write event logs """)
T1、采用FLAGS函数并IDE内点击Run运行代码直接得出结果
FLAGS.train_dir='cifarlO_train/'
FLAGS.max_steps='1000000'
FLAGS.log_device_placement='False'
FLAGS.log_frequency='10'
T2、采用TF flags(或argparse库)在Dos内一条命令调用代码文件得出结果
python cifar10_train.py --train_dir cifar10_train/ --data _dir cifar10_data/
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string('train_dir', '/tmp/cifar10_train',
"""Directory where to write event logs """
"""and checkpoint.""") #写入事件日志和检查点的目录
tf.app.flags.DEFINE_integer('max_steps', 1000000,
"""Number of batches to run.""") #要运行的批次数
tf.app.flags.DEFINE_boolean('log_device_placement', False,
"""Whether to log device placement.""") #是否记录设备放置
tf.app.flags.DEFINE_integer('log_frequency', 10,
"""How often to log results to the console.""") #将结果记录到控制台的频率
T3、采用sys.argv[]函数在Dos内一条命令调用代码文件得出结果
#test.py
import sys
def main(argv):
print(argv[0])
print(argv[1])
print(argv[1:])
print(argv[1][1:])
print('sys.argv[0]:',sys.argv[0]) #脚本名字
print('sys.argv[1]:',sys.argv[1]) #脚本第一个参数
print('sys.argv[1:]:',sys.argv[1:])
print('sys.argv:',sys.argv) #脚本的所有参数
print('type(sys.argv):',type(sys.argv))
print('len(sys.argv):',len(sys.argv)) #脚本的参数个数
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv[1:])) #sys.exit(0)正常退出, sys.exit(1)非正常退出