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