classification
Title: Add os.path.fileuri() function
Type: enhancement Stage: patch review
Components: Library (Lib) Versions: Python 3.11
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: barneygale
Priority: normal Keywords: patch

Created on 2021-06-13 16:10 by barneygale, last changed 2021-06-13 16:55 by barneygale.

Pull Requests
URL Status Linked Edit
PR 26708 open barneygale, 2021-06-13 16:55
Messages (1)
msg395756 - (view) Author: Barney Gale (barneygale) * Date: 2021-06-13 16:10
Proposal:

- Introduce `os.path.fileuri()` function that produces a 'file://' URI
- Adjust `PurePosixPath.to_uri()` to call `posixpath.fileuri()`
- Adjust `PureWindowsPath.to_uri()` to call `ntpath.fileuri()`
- Adjust `nturl2path.pathname2url()` to call `ntpath.fileuri()`

Rationale:

- pathlib is 95% a wrapper around `os` and `os.path`. It implements
  little itself except the OOP interface. `as_uri()` is one of only a
  tiny handful of pathlib features that have no decent antecedents.
- the existence of these OS-specific features complicates pathlib's
  internals, necessitating the existence of OS-specific '_Flavour'
  classes that greatly complicate work on bpo-24132
- this is a useful feature with lots of stackoverflow posts. It seems
  silly to /require/ users to use pathlib for this, as the rest of their
  codebase may work just fine using traditional path manip.

Further discussion on python-ideas: https://discuss.python.org/t/pathlib-and-os-path-feature-parity-and-code-de-duplication/9239

Related: bpo-44403, bpo-44136, bpo-24132
History
Date User Action Args
2021-06-13 16:55:19barneygalesetkeywords: + patch
stage: patch review
pull_requests: + pull_request25296
2021-06-13 16:10:22barneygalecreate