在Python Cmd模块中解析参数
我正在用Python写一个命令行工具,使用的是Cmd模块。
我想能够输入一些命令,比如:
resize -file all -height 100 -width 200 -type jpeg
或者
resize -file 'a file.jpg' -type png -height 50 -width 50
[编辑] 为了更清楚,上面的命令是要在我的命令行应用程序中输入,而不是在终端里。上面的命令会调用我的Cmd模块中的do_resize(self, line)方法,并把参数作为字符串传进去。因此,OptParse和argparse不适合我,因为它们似乎只能从sys.argv中获取参数。
有些参数是必须的,有些是可选的。有些参数在使用其他参数时会变成必须的。
解析参数字符串的最佳方法是什么? 我听说Python里有一些工具可以让这件事变得简单,但我不太确定我该找什么。