在我坐下来开始黑客攻击之前,我想我会来这里看看你们是否有任何提示,或者即使之前已经完成了这样的事情。
我想在python程序中重新创建类似语法的基本shell。换句话说,当人们使用python运行文件时,他们会收到一些提示
>>
对于简单的事情,使用选项解析器来说
opt.parse_args(input.split(" "))
工作正常,但现在我不仅要使用带有'\'字符的空格来转义特殊字符,还要将引用的字符串视为单个参数,就像在unix shell中一样。
是否有任何可能对此有帮助的内容?
感谢您的任何建议! - 追逐
答案 0 :(得分:15)
从shlex
模块开始:
$ pydoc shlex
Help on module shlex:
NAME
shlex - A lexical analyzer class for simple shell-like syntaxes.
你可以像这样使用它:
>> import shlex
>> shlex.split('This "is a" test.')
['This', 'is a', 'test']
这只是将事物分解为逻辑令牌;它不会做任何像变量扩展等等。这仍然取决于你,就像实际运行命令一样。
答案 1 :(得分:4)