Inhaltsverzeichnis
1. Offizielle Definition der Pathlib-Bibliothek
2. Pathlib-Cheats
1. Grundlegende Verwendung: Path.
Path.
() # Relativen Pfad berechnen
() # Ist es eine Datei?
home
4、 其他封装
四、pathlib.PurePath的使用
1、 PurePath.match
2、 PurePath的子类:PurePosixPath(非Windows系统)、PureWindowsPath
Heim Backend-Entwicklung Python-Tutorial So verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls

So verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls

May 13, 2023 pm 11:49 PM
python pathlib

1. Offizielle Definition der Pathlib-Bibliothek

Pathlib ist eine integrierte Bibliothek von Python. Die in der Python-Dokumentation angegebene Definition ist objektorientierte Dateisystempfade. pathlib bietet Klassen, die Dateisystempfade darstellen, mit Semantik, die auf verschiedene Betriebssysteme anwendbar ist.

Pfadklassen werden in reine Pfade, die reine Rechenoperationen ohne I/O bereitstellen, und konkrete Pfade, die reine Pfade erben, aber auch I/O-Operationen bereitstellen, unterteilt.

2. Pathlib-Cheats

1. Grundlegende Verwendung: Path.

iterdir
  • Path.glob

    () # Verzeichnis filtern (zurück zum Generator)
  • Path.resolve

    () # Absoluten Pfad zurückgeben
  • Path.exists

    () # Bestimmen Sie, ob der Pfad existiert
  • Path.open

    () # Eine Datei öffnen (unterstützt mit)
  • Path.unlink

    () # Eine Datei oder ein Verzeichnis löschen (das Verzeichnis ist nicht leer und löst eine Ausnahme aus)
  • 2. Grundattribute Path.parts

    Path.root # Gibt das Stammverzeichnis des Pfads zurück

  • Path.anchor # Automatisch bestimmen, ob zum Laufwerk oder zum Stammverzeichnis zurückgekehrt werden soll

Path.

parents
    # Rückkehr zu einer Liste aller übergeordneten Verzeichnisse Verzeichnisse
  • 3. Ändern Sie den Pfad

  • Path.with_name () # Ändern Sie den Pfadnamen, ändern Sie den Pfadnamen der letzten Ebene

  • Path.with_suffix() # Ändern Sie das Pfadsuffix

  • 4, dem Pfad beitreten

  • Path.
  • joinpath

    () # Dem Pfad beitreten

  • Path.
relative_to

() # Relativen Pfad berechnen

  • 5, Pfad testen.

  • Path.
  • match

    () # Testen Sie, ob der Pfad mit dem Muster übereinstimmt

  • Path.
is_dir

() # Ist es eine Datei?

  • Path.is_absolute() # Ist es ein absoluter Pfad?

  • Path.is_reserved() # Ist es ein reservierter Pfad?

Path.

home

() # Gibt das Home-Pfadobjekt des aktuellen Benutzers zurück
  • Path.stat

    () # Gibt Pfadinformationen zurück, genau wie os.stat()
  • Path.chmod

    () # Pfadberechtigungen ändern, ähnlich wie bei os.chmod()
  • Path.expanduser

    () # Expand~Return full path object
  • Path.mkdir

    () # Verzeichnis erstellen
  • Path.rename

    () # Pfad umbenennen

Path.
    rglob
  • () # Dateien in allen Unterverzeichnissen rekursiv durchlaufen

    3. Der Unterschied zwischen os und pathlib.Path
  • Im Vergleich zur Pfadmethode von Mit dem OS-Modul lässt sich die Pfadoperation des Pathlib-Moduls der Python3-Standardbibliothek einfacher auf Pfaden ausführen.

    1. Den aktuellen Dateipfad abrufen

    Bei Verwendung des OS-Moduls können Sie den aktuellen Dateipfad direkt über die Methode getcwd() abrufen
  • In Pycharm können Sie os verwenden .path.dirname( __file__) Rufen Sie den aktuellen Dateipfad ab, da Python das von Pycharm bereitgestellte Konzept von __file__ nicht bereitstellt:

    import os
    
    print(os.getcwd())  # C:\Users\bobin.yang\PycharmProjects\untitled
    print(os.path.dirname(__file__))  # C:/Users/bobin.yang/PycharmProjects/untitled
    Nach dem Login kopieren
    Im Pathlib-Modul können Sie den Path verwenden. cwd()-Methode Um den aktuellen Dateipfad direkt zu erhalten, können wir es versuchen:
    import pathlib
    
    print(pathlib.Path.cwd())  # C:\Users\bobin.yang\PycharmProjects\untitled
    Nach dem Login kopieren

    Über Pycharm können wir die Tastenkombination Strg+linke Maustaste verwenden und zum Anzeigen klicken die detaillierte einführung dieser methode.
  • Wie Sie auf dem Bild oben sehen können, ist die Methode cwd() nur eine Kapselung der Methode getcwd() in der OS-Bibliothek. Es sieht aber schlimmer aus Es ist offiziell. Der Start von ist definitiv keine Fiktion. Lassen Sie uns nun gemeinsam das Geheimnis lüften.

    2. Holen Sie sich das obere/obere Verzeichnis

    Der obige Fall scheint die Verwendung der Pashlib-Bibliothek komplizierter zu machen. Um das Geheimnis zu lüften, können wir nur gemeinsam die Zusammensetzung der Pathlib verstehen Die Bibliothek bringt uns Bequemlichkeit.
  • Wenn wir im Betriebssystemmodul das übergeordnete Verzeichnis einer bestimmten Datei abrufen möchten, wird das Betriebssystemmodul wie folgt geschrieben:

    import os
    
    print(os.path.dirname(os.path.dirname(os.getcwd())))  # C:\PycharmProjects
    Nach dem Login kopieren
    In der Pathlib-Bibliothek kann dies auf diese einfache Weise erreicht werden:
    import pathlib
    
    print(pathlib.Path.cwd().parent)   # C:\PycharmProjects
    Nach dem Login kopieren

    Und wenn Sie müssen seinen Großvater finden. Sollen wir einfach einen weiteren .parent hinzufügen? Ist es im Vergleich zu os.path.dirname() des Betriebssystemmoduls zu praktisch?
  • 3. Pfadspleißen

    Wenn Sie Pfade im übergeordneten Verzeichnis verbinden möchten, müssen Sie möglicherweise eine so lange Codezeichenfolge über das Betriebssystemmodul schreiben:

    import os
    
    print(os.path.join(os.path.dirname(os.getcwd()), '路径拼接', '真麻烦'))  # C:\PycharmProjects\路径拼接\真麻烦
    Nach dem Login kopieren

    Wenn Sie pathlib verwenden, lassen Sie uns gemeinsam die Bequemlichkeit erleben An!
  • # /Users/mac/test.py
    import os
    
    paths = ('路径拼接', '真麻烦')
    print(pathlib.Path.cwd().parent.joinpath(*paths))  # C:\PycharmProjects\路径拼接\真麻烦
    Nach dem Login kopieren

    通过 pathlib 库拼接路径,你可以很方便的调节他在他祖辈的位置,妙哉。

    4、 其他封装

    pathlib 封装了很多的 os.path 中的方法,如下所示:

    • os.path.expanduser() --> pathlib.Path.home()

    • os.path.expanduser() --> pathlib.Path.expanduser()

    • os.stat() --> pathlib.Path.stat()

    • os.chmod() --> pathlib.Path.chmod()

    四、pathlib.PurePath的使用

    上一节的操作大部分都是通过 pathlib 库中的 Path 实现,其实他还有一个更加高大上的模块,也就是我们这一节的主角:pathlib.PurePath

    PurePath 是一个纯路径对象,纯路径对象提供了实际上不访问文件系统的路径处理操作。

    有三种方法可以访问这些类,我们也称之为 flavor 。

    1、 PurePath.match

    下面让我们来实现一个神奇的功能,判断当前的路径下是否有符合'*.py'规则的文件。

    import pathlib
    
    print(pathlib.PurePath(__file__).match('*.py'))  # True
    Nach dem Login kopieren

    输出为什么会是 True 呢?因为当前文件夹下不就有一个 test.py 吗?

    2、 PurePath的子类:PurePosixPath(非Windows系统)、PureWindowsPath

    看见 pathlib.PurePath 后面跟着 match,那是不是能说明他是个对象,而不是一个单纯的路径字符串,因此我们可以试着打印 pathlib.PurePath 看一看。

    import pathlib
    
    os_path = os.path.dirname(__file__)
    print(os_path)  # C:/PycharmProjects/untitled
    
    pure_path = pathlib.PurePath(__file__)
    print(pure_path)  # C:\PycharmProjects\untitled\run.py
    print(type(pure_path))  # <class &#39;pathlib.PureWindowsPath&#39;>
    
    
    print(pathlib.PurePath(__file__).match(&#39;*.py&#39;))  # True
    Nach dem Login kopieren

    通过打印 os.path 获取当前路径的结果,得到一个路径字符串;而通过 pathlib.PurePath 则获得了一个 PurePosixPath 对象,并且由此得到的路径包括了当前文件 run.py。

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann man Node.js oder Python -Dienste in Lampenarchitektur effizient integrieren? Wie kann man Node.js oder Python -Dienste in Lampenarchitektur effizient integrieren? Apr 01, 2025 pm 02:48 PM

Viele Website -Entwickler stehen vor dem Problem der Integration von Node.js oder Python Services unter der Lampenarchitektur: Die vorhandene Lampe (Linux Apache MySQL PHP) Architekturwebsite benötigt ...

Was ist der Grund, warum Pipeline persistente Speicherdateien bei der Verwendung von Scapy Crawler nicht geschrieben werden kann? Was ist der Grund, warum Pipeline persistente Speicherdateien bei der Verwendung von Scapy Crawler nicht geschrieben werden kann? Apr 01, 2025 pm 04:03 PM

Bei der Verwendung von Scapy Crawler kann der Grund, warum Pipeline persistente Speicherdateien nicht geschrieben werden kann? Diskussion beim Lernen, Scapy Crawler für Data Crawler zu verwenden, begegnen Sie häufig auf eine ...

Was ist der Grund, warum der Python -Prozesspool gleichzeitige TCP -Anfragen behandelt und den Kunden dazu bringt, stecken zu bleiben? Was ist der Grund, warum der Python -Prozesspool gleichzeitige TCP -Anfragen behandelt und den Kunden dazu bringt, stecken zu bleiben? Apr 01, 2025 pm 04:09 PM

Python Process Pool verarbeitet gleichzeitige TCP -Anfragen, die dazu führen, dass der Client stecken bleibt. Bei der Verwendung von Python für die Netzwerkprogrammierung ist es entscheidend, gleichzeitige TCP -Anforderungen effizient zu verarbeiten. ...

Wie kann ich die ursprünglichen Funktionen betrachten, die von Python Functools.Partial Object in intern eingekapselt sind? Wie kann ich die ursprünglichen Funktionen betrachten, die von Python Functools.Partial Object in intern eingekapselt sind? Apr 01, 2025 pm 04:15 PM

Erforschen Sie tief die Betrachtungsmethode von Python Functools.Partialial Object in functools.Partial mit Python ...

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Python Cross-Platform Desktop-Anwendungsentwicklung: Welche GUI-Bibliothek ist die beste für Sie? Python Cross-Platform Desktop-Anwendungsentwicklung: Welche GUI-Bibliothek ist die beste für Sie? Apr 01, 2025 pm 05:24 PM

Auswahl der Python-plattformübergreifenden Desktop-Anwendungsentwicklungsbibliothek Viele Python-Entwickler möchten Desktop-Anwendungen entwickeln, die sowohl auf Windows- als auch auf Linux-Systemen ausgeführt werden können ...

Python Hourglass Graph Drawing: Wie vermeiden Sie variable undefinierte Fehler? Python Hourglass Graph Drawing: Wie vermeiden Sie variable undefinierte Fehler? Apr 01, 2025 pm 06:27 PM

Erste Schritte mit Python: Hourglas -Grafikzeichnung und Eingabeüberprüfung In diesem Artikel wird das Problem der Variablendefinition gelöst, das von einem Python -Anfänger im Hourglass -Grafikzeichnungsprogramm auftritt. Code...

Wie kann ich große Produktdatensätze in Python effizient zählen und sortieren? Wie kann ich große Produktdatensätze in Python effizient zählen und sortieren? Apr 01, 2025 pm 08:03 PM

Datenkonvertierung und Statistik: Effiziente Verarbeitung großer Datensätze In diesem Artikel werden ausführlich das Umwandeln einer Datenliste in eine andere enthält ...

See all articles