On Wed, 18 Sep 2019 08:30:08 +0200 Peter Otten <__pete...@web.de> wrote:
> 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\\..' > Very interesting. Thanks for this. > Generally speaking a long statement may be a hint that there is an > alternative spelling. > > I'll keep it in my mind. -- https://mail.python.org/mailman/listinfo/python-list