Python中使用GFlags

在整理我的python代码时,用到getopt,突然想起来我会Gflags,那么还是废弃getopt好了,研究一下gflags在ubuntu+python中的使用,嘻嘻。

一. 一般python代码结构

二. 主程序main函数

上图中,主程序和main函数不够灵活,所以我们定义如下:

三. 安装Gflags

1. 下载

https://github.com/google/python-gflags

一个75kb的小文件

2. 安装

sudo python ./setup.py install

3.安装位置

            安装后的默认位置为:/usr/local/lib/python2.7/dist-packages, 如果使用anaconda,可以复制到ana的文件夹(/usr/local/anaconda2/lib/python2.7/site-packages)中。

4.使用

#!/usr/bin/python    import sys  import gflags  import logging    Flags = gflags.FLAGS    gflags.DEFINE_string('name', 'func_test', 'test function name')  gflags.DEFINE_integer('qps', 0, 'test qps')  gflags.DEFINE_boolean('debug', False, 'whether debug')    def main(argv):      Flags(argv)      logging.basicConfig(level=logging.DEBUG,                  format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',                  datefmt='%a, %d %b %Y %H:%M:%S',                  filename='test.log',                  filemode='w')      logging.debug(Flags.name)      logging.info(Flags.qps)      logging.warning(Flags.debug)    if __name__ == "__main__":      main(sys.argv)