暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python基础 | 快速实现命令行参数解析

算法与编程之美 2019-07-25
272

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。


Python由于语法非常简洁,第三方库支持较多,因此大量的应用于编写脚本程序批处理解决一些任务。而编写的Python程序通常情况下在命令行中运行,并且会加上参数信息。通过接收命令行的参数信息,这样便于自定义处理一些任务。 


Python在命令行中执行,如何接收命令行的参数信息?本文将为大家介绍一种非常简洁、易懂的方式,并且被Google等大型企业广泛的应用于开源项目中,其中最典型的就是Google的深度学习框架TensorFlow中就有大量的使用。


下面的代码非常的简单易懂,基本不用任何解释就可以看的非常明白,这就是优秀代码的典型代表。

from absl import app
from absl import flags


FLAGS = flags.FLAGS


flags.DEFINE_string('name', 'Justin', 'Your Name')
flags.mark_flag_as_required('name')


def main(argv):
    del argv
print('Your input name is: {}'.format(FLAGS.name))


if __name__ == '__main__':
app.run(main)


编写代码完成以后,接下来就可以查看其用法。首先来看一下默认的--help信息。

(base) ➜  tool-absl git:(master) ✗ python main.py --help


USAGE: main.py [flags]
flags:


main.py:
--name: Your Name
(default: 'Justin')


Try --helpfull to get a list of all flags.


接下来加上--name参数信息,来看一下结果。

(base) ➜  tool-absl git:(master) ✗ python main.py --name John
Your input name is: John


本文为大家介绍了利用absl库的flags工具如何从命令行中接收一些参数信息,快速的实现任务的定制化。



 where2go 团队


   

微信号:算法与编程之美          

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

文章转载自算法与编程之美,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论