On Thu, 4 Dec 2008 at 08:50, Joe Strout wrote:
I have lines in a config file which can end with a comment (delimited by # as
in Python), but which may also contain string literals (delimited by double
quotes). A comment delimiter within a string literal doesn't count. Is
there any easy way to strip off such a comment, or do I need to use a loop to
find each # and then count the quotation marks to its left?
>>> from shlex import split
>>> split("this is a test")
['this', 'is', 'a', 'test']
>>> split("this is a test #with a comment")
['this', 'is', 'a', 'test', '#with', 'a', 'comment']
>>> split("this is a test #with a comment", comments=True)
['this', 'is', 'a', 'test']
>>> split("this is a '#gnarlier' test #with a comment", comments=True)
['this', 'is', 'a', '#gnarlier', 'test']
http://docs.python.org/library/shlex.html
--RDM
--
http://mail.python.org/mailman/listinfo/python-list