(original) (raw)
so are we worried that \_\_fspath\_\_ will exist and be callable, but might raise an AttributeError somewhere inside itself? if so isn't it broken anyway, so should it be ignored?
and I know it's asking poermission rather than forgiveness, but what's wrong with:
if hasattr(path, "\_\_fspath\_\_"):
path = path.\_\_fspath\_\_()
if you really want to check for the existence of the attribute first?
or even:
path = path.\_\_fspath\_\_ if hasattr(path, "\_\_fspath\_\_") else path
(OK, really a Pythonic style question now....)
-CHB
On Wed, Apr 13, 2016 at 12:54 PM, Brett Cannon <brett@python.org> wrote:
On Wed, 13 Apr 2016 at 12:39 Fred Drake <fred@fdrake.net> wrote:On Wed, Apr 13, 2016 at 3:24 PM, Chris Angelico <rosuav@gmail.com> wrote:
\> Is that the intention, or should the exception catching be narrower? I
\> know it's clunky to write it in Python, but AIUI it's less so in C:
\>
\> try:
\> callme = path.\_\_fspath\_\_
\> except AttributeError:
\> pass
\> else:
\> path = callme()
+1 for this variant; I really don't like masking errors inside the
\_\_fspath\_\_ implementation.Don't read too much into the code in that gist. I just did them quickly to get the point across of the proposals in terms of str/bytes, not what will be proposed in any final patch.
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: https://mail.python.org/mailman/options/python-dev/chris.barker%40noaa.gov
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov