免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3046 | 回复: 2
打印 上一主题 下一主题

python argparse [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-27 16:30 |只看该作者 |倒序浏览
我想这样调用我的程序  test.py -N -m 3

其中 -N 这个是不带参数的,也就是,在程序内部有一个 Norm 的变量,如果命令行有 -N,这个变量就是 True, 如果 test.py -m 3 这样调用的话,没有-N,程序内部的Norm 就是默认值 Fasle

这个用 argparse 怎么实现啊?求高手帮助

p.add_argument('-N,'--norm',)

论坛徽章:
0
2 [报告]
发表于 2012-06-27 16:43 |只看该作者
没用过这个,写了个optparse版的:
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-

  3. import sys
  4. import optparse


  5. def myprint(obj, end='\n'):
  6.     sys.stdout.write(str(obj) + end)


  7. def getcmdlineargs():
  8.     appargs = {}
  9.     p = optparse.OptionParser()
  10.     p.add_option('-m', action='store', dest='m')
  11.     p.add_option('-N', action='store_true', dest='N')
  12.     p.set_defaults(N=False)

  13.     (opts, args) = p.parse_args()
  14.     appargs['m'] = opts.m
  15.     appargs['N'] = opts.N

  16.     return appargs


  17. def main():
  18.     args = getcmdlineargs()
  19.     myprint(args)


  20. if __name__ == '__main__':
  21.     main()
  22.     myprint('done')
复制代码

论坛徽章:
0
3 [报告]
发表于 2012-06-27 16:59 |只看该作者
thanks.  
argparse 和 optparse 差不多。

回复 2# anonymous0502


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP