Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls

So verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls

WBOY
Freigeben: 2023-05-13 23:49:04
nach vorne
1970 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:yisu.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage