2013-04-10 96 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(",") 
相关问题