On Thu, Feb 19, 2015 at 3:44 PM, Jason Friedman <jsf80...@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 -- https://mail.python.org/mailman/listinfo/python-list