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)