incorrect(?) shlex behaviour

bill bill.pursell at gmail.com
Sun May 15 10:51:41 EDT 2005


Its gets worse:
>>> from shlex import StringIO
>>> from shlex import shlex
>>> t = shlex(StringIO("2>&1"))
>>> while True:
...  b = t.read_token()
...  if not b: break
...  print b
...
2
&
1                    <----------- where's the '>' !?
>>> import shlex
>>> print shlex.split("2>&1")
['2>&1']

It strikes me that split should be behaving exactly the same way as
read_token, but that may be a misunderstanding on my part of what split
is doing.

However, it is totally bizarre that read_token discards the '>' symbol
in the string!  I don't know much about lexical analysis, but it
strikes me that discarding characters is a bad thing.




More information about the Python-list mailing list