Python命令行解析模块argparse

03-25   3  186

  在学习tensorflow代码时看到了argparse这个库,竟不知道是什么东西。


  后来到网上找到了相关资料,看到了这么一句话:

Python标准库模块argparse用于解析命令行参数,编写用户友好的命令行界面,该模块还会自动生成帮助信息,并在所给参数无效时报错。

  之前一直没好好了解命令行交互相关的东西,去理解这些也要了几分时间,不过也总算是会了。这也亏了pycharm带来的好习惯,按住ctrl键再点击鼠标就可以一键找到源文件。为了求证这些东西,所以只好一个一个print了:

import argparse
import tensorflow as tf
import iris_data

parser = argparse.ArgumentParser()
parser.add_argument('--batch_size', default=100, type=int, help='batch size')
parser.add_argument('--train_steps', default=1000, type=int,
                    help='number of training steps')


def main(argv):
    args = parser.parse_args(argv[1:])

    print('**********')
    print(args)
    print('**********')
    return
    ...

上面是代码文件,然后在命令行输入:

python premade_estimator.py

得到结果:

**********
Namespace(batch_size=100, train_steps=1000)
**********

最后抱着期待的心态在命令行修改了下参数:

python premade_estimator.py --batch_size=100000

果然:

**********
Namespace(batch_size=100000, train_steps=1000)
**********

新技能get!

评论 ( {{ comments.total }} )
{{ o.content }}
赞 {{ o.likes_count ? o.likes_count : '' }} 回复 {{ o.created_at }}
作者信息