Manfred Lotz wrote: > I have a function like follows > > def regex_from_filepat(fpat): > rfpat = fpat.replace('.', '\\.') \ > .replace('%', '.') \ > .replace('*', '.*') > > return '^' + rfpat + '$' > > > As I don't want to have the replace() functions in one line my > question is if it is ok to spread the statement over various lines as > shown above, or if there is a better way?
Sometimes you can avoid method-chaining: >>> REP = str.maketrans({".": "\\.", "%": ".", "*": ".*"}) >>> def regex_from_filepat(fpat): ... return fpat.translate(REP) ... >>> regex_from_filepat("*foo.%") '.*foo\\..' Generally speaking a long statement may be a hint that there is an alternative spelling. -- https://mail.python.org/mailman/listinfo/python-list