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 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

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-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 dansmailman.1538.1311795072.1164.python-l...@python.org : Hello All, I would like to parse this TCL

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 or braces.

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

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

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

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
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 karim.liat...@free.fr wrote: ** Thank you Dan for answering. I ended with

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