python / python/cpython

Add `pathlib.Path.metadata()` and soft-deprecate `info`

Offen
#140,127 10 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stdlib topic-pathlib type-feature
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Feature or enhancement

Proposal:

I propose we add a pathlib.Path.metadata() method that requires a keyword-only cached argument, e.g.:

>>> m = pathlib.Path('README.txt').metadata(cached=True)
>>> m
Metadata('README.txt')
>>> m.is_file()
True

If cached is True, the method may return a Metadata object that was previously fetched and cached. If False, the return value is always up-to-date.

pathlib.Path.info should be soft-deprecated; its implementation should call self.metadata(cached=True)

Has this already been discussed elsewhere?

I have already discussed this feature proposal on Discourse

Links to previous discussion of this feature:

https://discuss.python.org/t/ergonomics-of-new-pathlib-path-scandir/71721/70

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der verknüpften Discourse-Diskussion und dem bestehenden Einstiegspunkt pathlib.Path.info. Definiere das vorgeschlagene Verhalten von metadata(cached=...) und den Ansatz für eine sanfte Abkündigung von info; überprüfe anschließend, dass die resultierende API mit den cached- und up-to-date-Fällen des Vorschlags übereinstimmt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
operating-systems
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.