怎么在Jython中解析命令行

本篇内容介绍了“怎么在Jython中解析命令行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司专注于壶关网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供壶关营销型网站建设,壶关网站制作、壶关网页设计、壶关网站官网定制、小程序定制开发服务,打造壶关网络公司原创品牌,更为您提供壶关网站排名全网营销落地服务。

在Jython中解析命令行

经常会需要对命令行参数进行比 sys.argv 所提供的更多的处理。parseArgs 函数可以用于作为一组位置参数和一个开关字典得到任意的命令行参数。

因此,继续 JavaUtils.py模块片段,我们看到:

def parseArgs (args, validNames, nameMap=None):      """ Do some simple command line parsing. """     # validNames is a dictionary of valid switch names -      #   the value (if any) is a conversion function      switches = {}      positionals = []      for arg in args:          if arg[0] == '-':               # a switch              text = arg[1:]              name = text; value = None             posn = text.find(':')       # any value comes after a :              if posn >= 0:                  name = text[:posn]                  value = text[posn + 1:]              if nameMap is not None:     # a map of valid switch names                  name = nameMap.get(name, name)              if validNames.has_key(name):   # or - if name in validNames:                  mapper = validNames[name]                  if mapper is None: switches[name] = value                  else:              switches[name] = mapper(value)              else:                  print "Unknown switch ignored -", name           else:                           # a positional argument              positionals.append(arg)      return positionals, switches

可以如下使用这个函数(在文件 parsearg.py 中):

from sys import argv  from JavaUtils import parseArgs   switchDefs = {'s1':None, 's2':int, 's3':float, 's4':int}  args, switches = parseArgs(argv[1:], switchDefs)  print "args:", args  print "switches:", switches

对于命令c:\>jython parsearg.py 1 2 3 -s1 -s2:1 ss -s4:2,它打印:

args: ['1', '2', '3', 'ss']  switches: {'s4': 2, 's2': 1, 's1': None}

这样就实现了在Jython中解析命令行。

“怎么在Jython中解析命令行”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享文章:怎么在Jython中解析命令行
路径分享:http://bzwzjz.com/article/jppjih.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 成都模版网站建设 移动网站建设 手机网站制作设计 企业网站设计 手机网站制作 成都网站建设 成都企业网站制作 成都网站建设公司 成都网站设计 温江网站设计 网站设计 四川成都网站制作 成都网站制作 公司网站建设 成都企业网站设计 商城网站建设 网站制作公司 成都网站制作 专业网站建设 成都企业网站建设公司 成都网站建设