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