我有以下情况:
import sys
from cmd2 import Cmd, make_option, options
class DemoApp(Cmd):
"""Simple command processor example."""
@options([make_option('-n', '--name', action="store", help="your name"),
])
def do_hello(self, command, opts):
if opts.name:
sys.stdout.write('Hello %s\n' % opts.name)
else:
sys.stdout.write('Hello Nobody\n')
if __name__ == '__main__':
DemoApp().cmdloop() 我想传递一个带有空格的字符串作为选项-n的参数。(在cmd2程序中)
示例:
->hello -n‘我最棒的名字’
当我这样做时,它就被打印出来了:
你好,我的
双引号也是如此
所以它在那里不接受空格。有人知道怎么做吗?
发布于 2013-11-18 20:32:14
我想是真的发生了。我在:https://bitbucket.org/catherinedevlin/cmd2/issues?status=new&status=open中提交了一个bug
再加上一个修补程序来修复这个bug。如果有人有同样的问题,如果维护人员不更新代码,您可以使用该修补程序。
发布于 2017-02-26 23:45:02
cmd2的0.7版本解决了这个问题。cmd2现在正确地将引用的参数作为单个参数来处理,而不管引号中是否存在空格。您可以通过以下方式从cmd2安装PyPI的最新版本:
pip install -U cmd2https://stackoverflow.com/questions/20056146
复制相似问题