


So verwenden Sie die Pathlib-Bibliothek des Python-Dateisystemmoduls
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.
() # Relativen Pfad berechnen
5, Pfad testen.
Path.- match
() # Testen Sie, ob der Pfad mit dem Muster übereinstimmt
Path.
() # Ist es eine Datei?
-
Path.is_absolute() # Ist es ein absoluter Pfad?
Path.is_reserved() # Ist es ein reservierter Pfad?
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
- 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 Methodegetcwd()
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:Im Pathlib-Modul können Sie denimport os print(os.getcwd()) # C:\Users\bobin.yang\PycharmProjects\untitled print(os.path.dirname(__file__)) # C:/Users/bobin.yang/PycharmProjects/untitled
Nach dem Login kopierenPath verwenden. cwd()
-Methode Um den aktuellen Dateipfad direkt zu erhalten, können wir es versuchen:Über Pycharm können wir die Tastenkombinationimport pathlib print(pathlib.Path.cwd()) # C:\Users\bobin.yang\PycharmProjects\untitled
Nach dem Login kopierenStrg+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 Methodegetcwd()
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: In der Pathlib-Bibliothek kann dies auf diese einfache Weise erreicht werden:
import os print(os.path.dirname(os.path.dirname(os.getcwd()))) # C:\PycharmProjects
Nach dem Login kopierenUnd wenn Sie müssen seinen Großvater finden. Sollen wir einfach einen weiterenimport pathlib print(pathlib.Path.cwd().parent) # C:\PycharmProjects
Nach dem Login kopieren.parent
hinzufügen? Ist es im Vergleich zuos.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:
Wenn Sie pathlib verwenden, lassen Sie uns gemeinsam die Bequemlichkeit erleben An!import os print(os.path.join(os.path.dirname(os.getcwd()), '路径拼接', '真麻烦')) # C:\PycharmProjects\路径拼接\真麻烦
Nach dem Login kopieren os.path.expanduser() --> pathlib.Path.home()
os.path.expanduser() --> pathlib.Path.expanduser()
os.stat() --> pathlib.Path.stat()
os.chmod() --> pathlib.Path.chmod()
# /Users/mac/test.py import os paths = ('路径拼接', '真麻烦') print(pathlib.Path.cwd().parent.joinpath(*paths)) # C:\PycharmProjects\路径拼接\真麻烦
通过 pathlib 库拼接路径,你可以很方便的调节他在他祖辈的位置,妙哉。
4、 其他封装
pathlib 封装了很多的 os.path 中的方法,如下所示:
四、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 '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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

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

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

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

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

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

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