资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么在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://cdkjz.cn/article/jppjih.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220