python-gflags初探

使用举例:
step1: 安装setuptools  
    法1:window联网情况下,可以使用http://peak.telecommunity.com/dist/ez_setup.py 安装
            执行:python ez_setup.py
    法2:linux下可以直接root权限安装 http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
            执行:sh setuptools-0.6c11-py2.6.egg
    法3:windows下载并执行setuptools-0.6c11-py2.6.egg
            执行:ez_setup.py setuptools-0.6c11-py2.6.egg
            安装完setuptools后,将生成python安装目录下的D:\Python26\Scripts\easy_install.exe等工具
step2:  python-gflags 下载 http://code.google.com/p/python-gflags/downloads/list 
    法1: 下载 http://python-gflags.googlecode.com/files/python-gflags-1.6.tar.gz 解压进入安装目录后
             执行:python ./setup.py install
    法2: 下载 http://python-gflags.googlecode.com/files/python_gflags-1.6-py2.6.egg,笔者python安装在d盘
             执行:d:\Python26\Scripts\easy_install.exe python_gflags-1.6-py2.6.egg 

安装完成后,可以使用
>>> import gflags
>>> gflags.__file__
'D:\\Python26\\lib\\site-packages\\python_gflags-1.6-py2.6.egg\\gflags.pyc'
可以看到,实际的gflag安装在D:\Python26\lib\site-packages\python_gflags-1.6-py2.6.egg\gflags.pyc 中,实际的目录-文件是不存在的,只达到
D:\Python26\lib\site-packages\python_gflags-1.6-py2.6.egg

gflags官网文档使用举例:
-------------------------------------------------------------------------------------------------------------------------
#! /usr/bin/python
import gflags
import sys

FLAGS = gflags.FLAGS

# Flag names are globally defined!  So in general, we need to be
# careful to pick names that are unlikely to be used by other libraries.
# If there is a conflict, we'll get an error at import time.
gflags.DEFINE_string('name', 'Mr. President', 'your name') 【定义变量和flags,使用--name=“”传参,引用FLAGS.name】
gflags.DEFINE_integer('age', None, 'your age in years', lower_bound=0)【同上】
gflags.DEFINE_boolean('debug', False, 'produces debugging output')
gflags.DEFINE_enum('gender', 'male', ['male', 'female'], 'your gender')

def main(argv):
  try:
    argv = FLAGS(argv)  # parse flags
  except gflags.FlagsError, e:
    print '%s\nUsage: %s ARGS\n%s' % (e, sys.argv[0], FLAGS)
    sys.exit(1)
  if FLAGS.debug: print 'non-flag arguments:', argv
  print 'Happy Birthday', FLAGS.name
  if FLAGS.age is not None:
    print 'You are a %d year old %s' % (FLAGS.age, FLAGS.gender)

if __name__ == '__main__':
  main(sys.argv)


你可能感兴趣的:(python-gflags初探)