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.
Path.glob
() # Verzeichnis filtern (zurück zum Generator)Path.resolve
() # Absoluten Pfad zurückgebenPath.exists
() # Bestimmen Sie, ob der Pfad existiertPath.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)Path.root # Gibt das Stammverzeichnis des Pfads zurück
Path.anchor # Automatisch bestimmen, ob zum Laufwerk oder zum Stammverzeichnis zurückgekehrt werden soll
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
() # Dem Pfad beitreten
5, Pfad testen.
() # Testen Sie, ob der Pfad mit dem Muster übereinstimmt
Path.is_absolute() # Ist es ein absoluter Pfad?
Path.is_reserved() # Ist es ein reservierter Pfad?
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 objectPath.mkdir
() # Verzeichnis erstellenPath.rename
() # Pfad umbenennen3. Der Unterschied zwischen os und pathlib.Path
1. Den aktuellen Dateipfad abrufen
Bei Verwendung des OS-Moduls können Sie den aktuellen Dateipfad direkt über die Methodegetcwd()
abrufenos 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
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
Strg+linke Maustaste
verwenden und zum Anzeigen klicken die detaillierte einführung dieser 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.import os print(os.path.dirname(os.path.dirname(os.getcwd()))) # C:\PycharmProjects
import pathlib print(pathlib.Path.cwd().parent) # C:\PycharmProjects
.parent
hinzufügen? Ist es im Vergleich zu os.path.dirname()
des Betriebssystemmoduls zu praktisch? 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\路径拼接\真麻烦
# /Users/mac/test.py import os paths = ('路径拼接', '真麻烦') print(pathlib.Path.cwd().parent.joinpath(*paths)) # C:\PycharmProjects\路径拼接\真麻烦
通过 pathlib 库拼接路径,你可以很方便的调节他在他祖辈的位置,妙哉。
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 库中的 Path 实现,其实他还有一个更加高大上的模块,也就是我们这一节的主角:pathlib.PurePath
。
PurePath 是一个纯路径对象,纯路径对象提供了实际上不访问文件系统的路径处理操作。
有三种方法可以访问这些类,我们也称之为 flavor 。
下面让我们来实现一个神奇的功能,判断当前的路径下是否有符合'*.py'规则的文件。
import pathlib print(pathlib.PurePath(__file__).match('*.py')) # True
输出为什么会是 True
呢?因为当前文件夹下不就有一个 test.py
吗?
看见 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 'pathlib.PureWindowsPath'> print(pathlib.PurePath(__file__).match('*.py')) # 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!