In <h0e9q8$ni...@reader1.panix.com> kj <no.em...@please.post> writes:
>In <023a8d04$0$20636$c3e8...@news.astraweb.com> Steven D'Aprano ><st...@remove-this-cybersource.com.au> writes: >>On Sat, 06 Jun 2009 15:59:37 +0000, kj wrote: >>> In <h0e0oi$1es...@adenine.netfront.net> "tsangpo" >>> <tsangpo.newsgr...@gmail.com> 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