日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
更多的處理:在Jython中解析命令行

在Jython中解析命令行

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請域名虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、應(yīng)城網(wǎng)站維護(hù)、網(wǎng)站推廣。

經(jīng)常會需要對命令行參數(shù)進(jìn)行比 sys.argv 所提供的更多的處理。parseArgs 函數(shù)可以用于作為一組位置參數(shù)和一個(gè)開關(guān)字典得到任意的命令行參數(shù)。

因此,繼續(xù) JavaUtils.py模塊片段,我們看到:

 
 
 
  1. def parseArgs (args, validNames, nameMap=None):  
  2.     """ Do some simple command line parsing. """ 
  3.     # validNames is a dictionary of valid switch names -  
  4.     #   the value (if any) is a conversion function  
  5.     switches = {}  
  6.     positionals = []  
  7.     for arg in args:  
  8.         if arg[0] == '-':               # a switch  
  9.             text = arg[1:]  
  10.             name = text; value = None 
  11.             posn = text.find(':')       # any value comes after a :  
  12.             if posn >= 0:  
  13.                 name = text[:posn]  
  14.                 value = text[posn + 1:]  
  15.             if nameMap is not None:     # a map of valid switch names  
  16.                 name = nameMap.get(name, name)  
  17.             if validNames.has_key(name):   # or - if name in validNames:  
  18.                 mapper = validNames[name]  
  19.                 if mapper is None: switches[name] = value  
  20.                 else:              switches[name] = mapper(value)  
  21.             else:  
  22.                 print "Unknown switch ignored -", name  
  23.  
  24.         else:                           # a positional argument  
  25.             positionals.append(arg)  
  26.     return positionals, switches  

可以如下使用這個(gè)函數(shù)(在文件 parsearg.py 中):

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

對于命令c:\>jython parsearg.py 1 2 3 -s1 -s2:1 ss -s4:2,它打?。?/p>

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

這樣就實(shí)現(xiàn)了在Jython中解析命令行。

【編輯推薦】

  1. 如何將Jython類型轉(zhuǎn)換為Java類型
  2. Jython訪問Java屬性文件的方法一覽
  3. 用于Jython連接Java的JavaUtils模塊
  4. Jython線程示例:定義共享緩沖區(qū)
  5. 與Java語言相比Jython開發(fā)的獨(dú)特性能

標(biāo)題名稱:更多的處理:在Jython中解析命令行
當(dāng)前鏈接:http://www.5511xx.com/article/dhhsdid.html