我需要让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 :(得分: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(",")