Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #85863

Re: What behavior would you expect?

References <CANy1k1g+wU6VUifZpV5+DWendT2LqS-PhRA-KC5hmq2xQ_uy+A@mail.gmail.com>
Date 2015-02-19 16:10 +1100
Subject Re: What behavior would you expect?
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.18860.1424322611.18130.python-list@python.org> (permalink)

Show all headers | View raw


On Thu, Feb 19, 2015 at 3:44 PM, Jason Friedman <jsf80238@gmail.com> wrote:
> I have need to search a directory and return the name of the most recent
> file matching a given pattern.  Given a directory with these files and
> timestamps,
>
> q.pattern1.abc Feb 13
> r.pattern1.cdf  Feb 12
> s.pattern1.efg  Feb 10
> t.pattern2.abc Feb 13
> u.pattern2.xyz  Feb 14
> v.pattern2.efg  Feb 10
>
> calling my_function("/path/to/dir", "pattern1") will return q.pattern1.abc
> and calling my_function("/path/to/dir", "pattern2") will return
> u.pattern2.xyz.

That seems reasonable, and well-defined.

> My question is, what would be a reasonable behavior/result/return value if:
> 1. "/path/to/dir" does not exist or is not readable

Raise an exception. Or, better still, just allow the exception to bubble.

> 2. no files match the given pattern

Either return None, or raise an exception, depending on how "normal"
this state is. Is it simply a matter of "you asked for something, but
you got nothing"? Then return None. Is it a really unusual situation
that should basically never happen? Then raise an exception, so you
get an instant report with no wondering "why am I getting these
strange TypeErrors".

> Also, what would be a reasonable name for such a function?

newest_file_matching() seems decent. Remember, it doesn't have to be
especially short.

ChrisA

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: What behavior would you expect? Chris Angelico <rosuav@gmail.com> - 2015-02-19 16:10 +1100

csiph-web