Re: shlex parsing

2011-07-29 Thread Karim
On 07/29/2011 03:42 PM, Web Dreamer wrote: whitespace_split = True Thanks for the tip! Cheers Karim -- http://mail.python.org/mailman/listinfo/python-list

Re: shlex parsing

2011-07-29 Thread Karim
On 07/29/2011 09:24 AM, Web Dreamer wrote: Nobody a écrit ce jeudi 28 juillet 2011 18:37 dans : 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 =

Re: shlex parsing

2011-07-28 Thread Karim
Just a little modification: >>> tuple([(option, value) for option,value in zip(optionlist[0::2],optionlist[1::2])]) == tuple(zip(optionlist[0::2],optionlist[1::2])) True Indeed: tuple(zip(optionlist[0::2],optionlist[1::2])) shorter than: tuple([(option, value) for option,value in zip(opt

Re: shlex parsing

2011-07-28 Thread Nobody
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

Re: shlex parsing

2011-07-28 Thread Karim
Hello You have you feet on earth Web Dreamer! Very clever! Beautiful hack! Many Thanks Karim On 07/28/2011 05:48 PM, Web Dreamer wrote: Karim a écrit ce mercredi 27 juillet 2011 21:30 dans : Hello All, I would like to parse this TCL command line with shlex: '-option1 [get_rule A1 B2]

Re: shlex parsing

2011-07-27 Thread Karim
On 07/28/2011 12:11 AM, Dan Stromberg wrote: You could probably use a recursive descent parser with the standard library. But if your management is OK with pyparsing, that might be easier, and a bit more clear as well. Yes, I thought to use str method partition in a recursive way but using

Re: shlex parsing

2011-07-27 Thread Dan Stromberg
You could probably use a recursive descent parser with the standard library. But if your management is OK with pyparsing, that might be easier, and a bit more clear as well. On Wed, Jul 27, 2011 at 2:08 PM, Karim wrote: > ** > > Thank you Dan for answering. > > I ended with this and gave up wit

Re: shlex parsing

2011-07-27 Thread Karim
Thank you Dan for answering. I ended with this and gave up with shlex: split = ['-option1', '[get_rule', 'A1', 'B2]', '-option2', '$VAR', '-option3', 'TAG'] procedure_found = False result = [] for token in split: if not token.startswith('[') and not token.endswith(']') and not

Re: shlex parsing

2011-07-27 Thread Dan Stromberg
I've not used the shlex module, but this feels more like an issue to address with a parser than for a lexical analyzer - or perhaps even both, since you're splitting on whitespace sometimes, and matching square brackets sometimes. I've used pyparsing for stuff a bit similar to this. Or here's a l

shlex parsing

2011-07-27 Thread Karim
Hello All, I would like to parse this TCL command line with shlex: '-option1 [get_rule A1 B2] -option2 $VAR -option3 TAG' And I want to get the splitted list: ['-option1', '[get_rule A1 B2]', '-option2', '$VAR', '-option3', 'TAG'] Then I will gather in tuple 2 by 2 the arguments. I tried