In <[email protected]> kj <[email protected]> writes:
>In <[email protected]> Steven D'Aprano ><[email protected]> writes: >>On Sat, 06 Jun 2009 15:59:37 +0000, kj wrote: >>> In <[email protected]> "tsangpo" >>> <[email protected]> writes: >>> >>>>I want to ensure that the url ends with a '/', now I have to do thisa >>>>like below. >>>>url = url + '' if url[-1] == '/' else '/' >>> >>>>Is there a better way? >>> >>> It's a pity that in python regexes are an "extra", as it were. Otherwise >>> I'd propose: >>> >>> url = re.sub("/?$", "/", url) >>Thank goodness regexs are an "extra" in Python, because it discourages >>noobs from pulling out the 80 pound sledgehammer of the regex engine to >>crack the peanut of a test-and-concatenate: >I was just responding to the OP's subject line. Whatever else one >may say about my proposal, it *is* shorter. >But thanks for the tip with timeit. That looks like a good module >to know. And actually, if speed is the criterion, then one should also avoid endswith: >>> from timeit import Timer >>> min(Timer("if s[-1] != '/': s += '/'", "s = 'abcd/efgh'").repeat()) 0.18654584884643555 >>> min(Timer("if not s.endswith('/'): s += '/'", "s = 'abcd/efgh'").repeat()) 0.43395113945007324 kynn -- http://mail.python.org/mailman/listinfo/python-list
