On 07/29/2011 09:24 AM, Web Dreamer wrote:
Nobody a écrit ce jeudi 28 juillet 2011 18:37 dans
<pan.2011.07.28.16.37.35.287...@nowhere.com> :
On Thu, 28 Jul 2011 17:48:34 +0200, Web Dreamer wrote:
I would like to parse this TCL command line with shlex:
'-option1 [get_rule A1 B2] -option2 $VAR -option3 TAG'
s = s.replace('[','"[')
s = s.replace(']',']"')
Note that this approach won't work if you have nested brackets or braces.
That would require a real parser.
True,
I tried with the shlex class, but adding '[]' to a shlexobject.quotes
doesn't work.
Indeed, shlex expects an opening and closing quote to be the same, and [ is
different from ] so shlex therefore expects an opening [ to be closed with [
and not ]
My solution indeed only works as long as there are not any nested brackets.
Yeah I saw that shlex object behavior is slighty different from
shlex.split()
fonction. the char minus by default is taken as a individual word and in
split
it is not. get_token() method return '-' alone and you have to set
object attributes
wordchars += '-' to have the same behavior as shlex.split().
Cheers
Karim
--
http://mail.python.org/mailman/listinfo/python-list