On 14 April 2016 at 17:02, Stephen J. Turnbull <step...@xemacs.org> wrote: > But WDOT? I'd especially like to hear if Nick is tempted to flip-flop > (so far he's been in the "pathlib is a text utility" camp).
pathlib is too high level (i.e. has too many dependencies) to be used in low level boundary code. The use case for returning bytes from __fspath__ is DirEntry, so you can write things like this in low level code: def myscandir(dirpath): for entry in os.scandir(dirpath): if entry.is_file(): with open(entry) as f: # do something and still have them automatically inherit the str/bytes handling of the core standard library APIs. By contrast, as soon as you type "import pathlib" at the top of your file, you've stepped outside the world of potentially pure boundary code, and are instead dealing with structured application level objects (which means traversing the bytes->str boundary before the str->Path one). Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ 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/archive%40mail-archive.com