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

So verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls

WBOY
WBOYnach vorne
2023-05-13 23:49:041992Durchsuche

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
    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

    Ü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
    In der Pathlib-Bibliothek kann dies auf diese einfache Weise erreicht werden:
    import pathlib
    
    print(pathlib.Path.cwd().parent)   # C:\PycharmProjects

    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\路径拼接\真麻烦

    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\路径拼接\真麻烦

    通过 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

    输出为什么会是 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

    通过打印 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen