2013-04-10 95 views
-4

我需要有parse_command(command_string)執行在下面的例子中示出的功能:如何將字符串解析爲命令及其參數?

parse_command(command_string)接受表示一個命令 及其參數的字符串並返回一個對由該命令和一元組 包含命令參數,如果它是一個有效的命令和正確的 個參數。否則,它返回對(None, None)

例如:

.>>> parse_command('e') 
('e',()) 

.>>> parse_command('f')  
(None, None) 

.>>> parse_command('f John Cleese')  
('f', ('John Cleese',)) 

.>>> parse_command('a Michael Palin, Cheese Shop, 5552233, 5 May')  
('a', ('Michael Palin', 'Cheese Shop', '5552233', '5 May')) 

.>>> parse_command('a Michael Palin, Cheese Shop, 5552233')  
(None, None) 

.>>> parse_command('x')  
(None, None) 

如何我開始實施parse_command

+0

我不明白你的「基本上看起來在一個文件中包含一個列表con包含信息「部分。請編輯您的問題並澄清 – towi 2013-04-10 13:17:10

回答

1

看看argparse模塊。

你應該能夠開始與

import argparse 
parser = argparse.ArgumentParser() 
parser.add_argument("e", nargs=0) 
parser.add_argument("f", nargs=1) 
parser.add_argument("a", nargs=4) 

首先,你可能需要在第一空間字符從ARGS拆分命令:

command, argline = line.split(" ", 1) 

然後,你將不得不分割參數在","

args = argline.split(",") 
相關問題