如何将字符串解析为命令及其参数?

时间:2013-04-10 12:09:52

标签: python parsing python-2.7

我需要让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

1 个答案:

答案 0 :(得分: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)

首先,您可能需要在第一个空格char:

中从args拆分命令
command, argline = line.split(" ", 1)

然后你必须将参数拆分为","

args = argline.split(",")