os.path — Gemeinsame Pfadnamenmanipulationen

Quellcode: Lib/genericpath.py, Lib/posixpath.py (für POSIX) und Lib/ntpath.py (für Windows).


Dieses Modul implementiert einige nützliche Funktionen für Pfadnamen. Zum Lesen oder Schreiben von Dateien siehe open(), und für den Zugriff auf das Dateisystem siehe das Modul os. Die Pfadparameter können als Strings, Bytes oder jedes Objekt, das das os.PathLike-Protokoll implementiert, übergeben werden.

Im Gegensatz zu einer Unix-Shell führt Python keine *automatische* Pfadexpansion durch. Funktionen wie expanduser() und expandvars() können explizit aufgerufen werden, wenn eine Anwendung Shell-ähnliche Pfadexpansion wünscht. (Siehe auch das Modul glob.)

Siehe auch

Das Modul pathlib bietet Pfadobjekte auf hoher Ebene.

Hinweis

Alle diese Funktionen akzeptieren entweder nur Bytes oder nur String-Objekte als ihre Parameter. Das Ergebnis ist ein Objekt desselben Typs, wenn ein Pfad oder Dateiname zurückgegeben wird.

Hinweis

Da verschiedene Betriebssysteme unterschiedliche Konventionen für Pfadnamen haben, gibt es in der Standardbibliothek mehrere Versionen dieses Moduls. Das Modul os.path ist immer das Pfadmodul, das für das Betriebssystem geeignet ist, auf dem Python läuft, und daher für lokale Pfade verwendbar. Sie können jedoch auch die einzelnen Module importieren und verwenden, wenn Sie einen Pfad manipulieren möchten, der *immer* in einem der verschiedenen Formate vorliegt. Sie alle haben dieselbe Schnittstelle:

  • posixpath für UNIX-ähnliche Pfade

  • ntpath für Windows-Pfade

Geändert in Version 3.8: exists(), lexists(), isdir(), isfile(), islink() und ismount() geben nun False zurück, anstatt eine Ausnahme für Pfade auszulösen, die Zeichen oder Bytes enthalten, die auf Betriebssystemebene nicht darstellbar sind.

os.path.abspath(path)

Gibt eine normalisierte, absolute Version des Pfadnamens path zurück. Auf den meisten Plattformen ist dies gleichbedeutend mit dem Aufruf der Funktion normpath() wie folgt: normpath(join(os.getcwd(), path)).

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.basename(path, /)

Gibt den Basisnamen des Pfadnamens path zurück. Dies ist das zweite Element des Paares, das durch Übergabe von path an die Funktion split() zurückgegeben wird. Beachten Sie, dass das Ergebnis dieser Funktion vom Unix-Programm basename abweicht; während basename für '/foo/bar/' 'bar' zurückgibt, gibt die Funktion basename() einen leeren String ('') zurück.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.commonpath(paths)

Gibt den längsten gemeinsamen Teilpfad jedes Pfadnamens in der Iterable paths zurück. Löst ValueError aus, wenn paths sowohl absolute als auch relative Pfadnamen enthält, wenn paths auf verschiedenen Laufwerken liegen oder wenn paths leer ist. Im Gegensatz zu commonprefix() gibt dies einen gültigen Pfad zurück.

Hinzugefügt in Version 3.5.

Geändert in Version 3.6: Akzeptiert eine Sequenz von pfadähnlichen Objekten.

Geändert in Version 3.13: Jede Iterable kann nun übergeben werden, anstatt nur Sequenzen.

os.path.commonprefix(list, /)

Gibt das längste Pfadpräfix (zeichenweise genommen) zurück, das ein Präfix aller Pfade in list ist. Wenn list leer ist, wird der leere String ('') zurückgegeben.

Hinweis

Diese Funktion kann ungültige Pfade zurückgeben, da sie zeichenweise arbeitet. Um einen gültigen Pfad zu erhalten, siehe commonpath().

>>> os.path.commonprefix(['/usr/lib', '/usr/local/lib'])
'/usr/l'

>>> os.path.commonpath(['/usr/lib', '/usr/local/lib'])
'/usr'

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.dirname(path, /)

Gibt den Verzeichnisnamen des Pfadnamens path zurück. Dies ist das erste Element des Paares, das durch Übergabe von path an die Funktion split() zurückgegeben wird.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.exists(path)

Gibt True zurück, wenn path auf einen existierenden Pfad oder einen offenen Dateideskriptor verweist. Gibt False für defekte symbolische Links zurück. Auf einigen Plattformen kann diese Funktion False zurückgeben, wenn keine Berechtigung erteilt wird, os.stat() auf die angeforderte Datei auszuführen, selbst wenn der path physisch existiert.

Geändert in Version 3.3: path kann nun eine Ganzzahl sein: True wird zurückgegeben, wenn es sich um einen offenen Dateideskriptor handelt, ansonsten False.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.lexists(path)

Gibt True zurück, wenn path auf einen existierenden Pfad verweist, einschließlich defekter symbolischer Links. Entspricht exists() auf Plattformen, denen os.lstat() fehlt.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.expanduser(path)

Unter Unix und Windows gibt das Argument zurück, wobei ein anfänglicher Bestandteil von ~ oder ~user durch das Home-Verzeichnis dieses *Benutzers* ersetzt wird.

Unter Unix wird ein anfängliches ~ durch die Umgebungsvariable HOME ersetzt, falls gesetzt; andernfalls wird das Home-Verzeichnis des aktuellen Benutzers über die integrierte pwd-Datenbank ermittelt. Ein anfängliches ~user wird direkt in der Passwortdatenbank nachgeschlagen.

Unter Windows wird USERPROFILE verwendet, falls gesetzt, andernfalls eine Kombination aus HOMEPATH und HOMEDRIVE. Ein anfängliches ~user wird behandelt, indem geprüft wird, ob die letzte Verzeichniskomponente des Home-Verzeichnisses des aktuellen Benutzers mit USERNAME übereinstimmt, und diese gegebenenfalls ersetzt wird.

Wenn die Expansion fehlschlägt oder wenn der Pfad nicht mit einer Tilde beginnt, wird der Pfad unverändert zurückgegeben.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

Geändert in Version 3.8: Verwendet unter Windows nicht mehr HOME.

os.path.expandvars(path)

Gibt das Argument mit erweiterten Umgebungsvariablen zurück. Teilzeichenfolgen der Form $name oder ${name} werden durch den Wert der Umgebungsvariable name ersetzt. Fehlerhafte Variablennamen und Verweise auf nicht existierende Variablen bleiben unverändert.

Unter Windows werden neben $name und ${name} auch %name%-Erweiterungen unterstützt.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.getatime(path, /)

Gibt die Zugriffszeit von path zurück. Der Rückgabewert ist eine Gleitkommazahl, die die Anzahl der Sekunden seit der Epoche angibt (siehe Modul time). Löst OSError aus, wenn die Datei nicht existiert oder nicht zugänglich ist.

os.path.getmtime(path, /)

Gibt die Änderungszeit von path zurück. Der Rückgabewert ist eine Gleitkommazahl, die die Anzahl der Sekunden seit der Epoche angibt (siehe Modul time). Löst OSError aus, wenn die Datei nicht existiert oder nicht zugänglich ist.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.getctime(path, /)

Gibt die ctime des Systems zurück, die auf einigen Systemen (wie Unix) die Zeit der letzten Metadatenänderung und auf anderen (wie Windows) die Erstellungszeit für path ist. Der Rückgabewert ist eine Zahl, die die Anzahl der Sekunden seit der Epoche angibt (siehe Modul time). Löst OSError aus, wenn die Datei nicht existiert oder nicht zugänglich ist.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.getsize(path, /)

Gibt die Größe von path in Bytes zurück. Löst OSError aus, wenn die Datei nicht existiert oder nicht zugänglich ist.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.isabs(path, /)

Gibt True zurück, wenn path ein absoluter Pfadname ist. Unter Unix bedeutet dies, dass er mit einem Schrägstrich beginnt, unter Windows, dass er mit zwei (Back-)Schrägstrichen oder einem Laufwerksbuchstaben, einem Doppelpunkt und einem (Back-)Schrägstrich beginnt.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

Geändert in Version 3.13: Unter Windows wird False zurückgegeben, wenn der angegebene Pfad mit genau einem (Back-)Schrägstrich beginnt.

os.path.isfile(path)

Gibt True zurück, wenn path eine existierende reguläre Datei ist. Dies folgt symbolischen Links, sodass sowohl islink() als auch isfile() für denselben Pfad wahr sein können.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.isdir(path, /)

Gibt True zurück, wenn path ein existierendes Verzeichnis ist. Dies folgt symbolischen Links, sodass sowohl islink() als auch isdir() für denselben Pfad wahr sein können.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.isjunction(path)

Gibt True zurück, wenn path auf einen existierenden Verzeichniseintrag verweist, der eine Junction ist. Gibt immer False zurück, wenn Junctions auf der aktuellen Plattform nicht unterstützt werden.

Hinzugefügt in Version 3.12.

Gibt True zurück, wenn path auf einen existierenden Verzeichniseintrag verweist, der ein symbolischer Link ist. Immer False, wenn symbolische Links vom Python-Interpreter nicht unterstützt werden.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.ismount(path)

Gibt True zurück, wenn der Pfadname path ein *Mountpoint* ist: ein Punkt in einem Dateisystem, an dem ein anderes Dateisystem eingehängt wurde. Auf POSIX-Systemen prüft die Funktion, ob das Elternverzeichnis von path, path/.., auf einem anderen Gerät liegt als path, oder ob path/.. und path auf denselben i-node auf demselben Gerät zeigen — dies sollte Mountpoints für alle Unix- und POSIX-Varianten erkennen. Es kann Bind-Mounts im selben Dateisystem nicht zuverlässig erkennen. Auf Linux-Systemen gibt es für btrfs-Subvolumes immer True zurück, auch wenn sie keine Mountpoints sind. Unter Windows sind ein Laufwerksbuchstaben-Root und eine Share-UNC immer Mountpoints, und für jeden anderen Pfad wird GetVolumePathName aufgerufen, um zu prüfen, ob dieser sich vom Eingabepfad unterscheidet.

Geändert in Version 3.4: Unterstützung für die Erkennung von Nicht-Root-Mountpoints unter Windows hinzugefügt.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.isdevdrive(path)

Gibt True zurück, wenn der Pfadname path auf einem Windows Dev Drive liegt. Ein Dev Drive ist für Entwicklungsszenarien optimiert und bietet schnellere Leistung beim Lesen und Schreiben von Dateien. Er wird für Quellcode, temporäre Build-Verzeichnisse, Paket-Caches und andere E/A-intensive Operationen empfohlen.

Kann für einen ungültigen Pfad einen Fehler auslösen, z. B. wenn kein erkennbares Laufwerk vorhanden ist, gibt aber False auf Plattformen zurück, die Dev Drives nicht unterstützen. Siehe die Windows-Dokumentation für Informationen zur Aktivierung und Erstellung von Dev Drives.

Hinzugefügt in Version 3.12.

Geändert in Version 3.13: Die Funktion ist nun auf allen Plattformen verfügbar und gibt auf denen, die Dev Drives nicht unterstützen, immer False zurück.

os.path.isreserved(path)

Gibt True zurück, wenn path ein reservierter Pfadname im aktuellen System ist.

Unter Windows sind reservierte Dateinamen solche, die mit einem Leerzeichen oder Punkt enden; solche, die Doppelpunkte enthalten (d. h. Dateistreams wie „name:stream“), Wildcard-Zeichen (d. h. '*?"<>'), Pipe- oder ASCII-Steuerzeichen; sowie DOS-Gerätenamen wie „NUL“, „CON“, „CONIN$“, „CONOUT$“, „AUX“, „PRN“, „COM1“ und „LPT1“.

Hinweis

Diese Funktion nähert die Regeln für reservierte Pfade auf den meisten Windows-Systemen an. Diese Regeln ändern sich im Laufe der Zeit in verschiedenen Windows-Versionen. Diese Funktion kann in zukünftigen Python-Versionen aktualisiert werden, wenn Änderungen an den Regeln allgemein verfügbar werden.

Verfügbarkeit: Windows.

Hinzugefügt in Version 3.13.

os.path.join(path, /, *paths)

Fügt intelligent ein oder mehrere Pfadsegmente zusammen. Der Rückgabewert ist die Verkettung von path und allen Mitgliedern von *paths, mit genau einem Verzeichnistrenner nach jedem nicht leeren Teil, außer dem letzten. Das heißt, das Ergebnis endet nur dann mit einem Trenner, wenn der letzte Teil entweder leer ist oder mit einem Trenner endet. Wenn ein Segment ein absoluter Pfad ist (was unter Windows sowohl ein Laufwerk als auch einen Root erfordert), werden alle vorherigen Segmente ignoriert und die Verkettung wird vom absoluten Pfadsegment aus fortgesetzt.

Unter Windows wird das Laufwerk nicht zurückgesetzt, wenn ein relativer Pfadsegment (z. B. r'\foo') angetroffen wird. Wenn ein Segment auf einem anderen Laufwerk liegt oder ein absoluter Pfad ist, werden alle vorherigen Segmente ignoriert und das Laufwerk zurückgesetzt. Beachten Sie, dass es für jedes Laufwerk ein aktuelles Verzeichnis gibt, sodass os.path.join("c:", "foo") einen Pfad relativ zum aktuellen Verzeichnis auf Laufwerk C: (c:foo) darstellt, nicht c:\foo.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt für path und paths.

os.path.normcase(path, /)

Normalisiert die Groß-/Kleinschreibung eines Pfadnamens. Unter Windows werden alle Zeichen im Pfadnamen in Kleinbuchstaben umgewandelt und Vorwärtsschrägstriche in Rückwärtsschrägstriche. Auf anderen Betriebssystemen wird der Pfad unverändert zurückgegeben.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.normpath(path)

Normalisiert einen Pfadnamen, indem überflüssige Trennzeichen und übergeordnete Verweise zusammengeführt werden, sodass A//B, A/B/, A/./B und A/foo/../B alle zu A/B werden. Diese Zeichenkettenmanipulation kann die Bedeutung eines Pfades mit symbolischen Links ändern. Unter Windows werden Vorwärtsschrägstriche in Rückwärtsschrägstriche umgewandelt. Um die Groß-/Kleinschreibung zu normalisieren, verwenden Sie normcase().

Hinweis

Auf POSIX-Systemen wird gemäß IEEE Std 1003.1 2013 Edition; 4.13 Pathname Resolution, wenn ein Pfadname mit genau zwei Schrägstrichen beginnt, die erste Komponente nach den führenden Zeichen in einer implementierungsabhängigen Weise interpretiert, während mehr als zwei führende Zeichen als ein einzelnes Zeichen behandelt werden.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.realpath(path, /, *, strict=False)

Gibt den kanonischen Pfad des angegebenen Dateinamens zurück, wobei alle angetroffenen symbolischen Links entfernt werden (falls sie vom Betriebssystem unterstützt werden). Unter Windows werden auch MS-DOS (auch 8.3-Namen genannt) wie C:\\PROGRA~1 in C:\\Program Files aufgelöst.

Standardmäßig wird der Pfad bis zur ersten Komponente evaluiert, die nicht existiert, ein Symlink-Loop ist oder deren Auswertung OSError auslöst. Alle solchen Komponenten werden unverändert an den vorhandenen Teil des Pfades angehängt.

Einige Fehler, die auf diese Weise behandelt werden, sind „Zugriff verweigert“, „kein Verzeichnis“ oder „ungültiges Argument für interne Funktion“. Daher kann der resultierende Pfad fehlen oder nicht zugänglich sein, Links oder Schleifen enthalten und Nicht-Verzeichnisse durchlaufen.

Dieses Verhalten kann durch Schlüsselwortargumente geändert werden.

Wenn strict True ist, wird der erste Fehler, der bei der Auswertung des Pfads auftritt, erneut ausgelöst. Insbesondere wird FileNotFoundError ausgelöst, wenn path nicht existiert, oder ein anderes OSError, wenn es anderweitig nicht zugänglich ist.

Wenn strict os.path.ALLOW_MISSING ist, werden Fehler außer FileNotFoundError erneut ausgelöst (wie bei strict=True). Somit enthält der zurückgegebene Pfad keine symbolischen Links, aber die benannte Datei und einige ihrer übergeordneten Verzeichnisse können fehlen.

Hinweis

Diese Funktion emuliert das Verfahren des Betriebssystems zur Kanonisierung eines Pfades, das sich zwischen Windows und UNIX in Bezug auf die Interaktion von Links und nachfolgenden Pfadkomponenten leicht unterscheidet.

Betriebssystem-APIs machen Pfade nach Bedarf kanonisch, sodass es normalerweise nicht notwendig ist, diese Funktion aufzurufen.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

Geändert in Version 3.8: Symbolische Links und Junctions werden nun unter Windows aufgelöst.

Geändert in Version 3.10: Der Parameter strict wurde hinzugefügt.

Geändert in Version 3.14: Der Wert os.path.ALLOW_MISSING für den Parameter strict wurde hinzugefügt.

os.path.ALLOW_MISSING

Spezialwert, der für das Argument strict in realpath() verwendet wird.

Hinzugefügt in Version 3.14.

os.path.relpath(path, start=os.curdir)

Gibt einen relativen Dateipfad zu path entweder vom aktuellen Verzeichnis oder von einem optionalen Startverzeichnis start zurück. Dies ist eine Pfadberechnung: das Dateisystem wird nicht aufgerufen, um die Existenz oder Art von path oder start zu bestätigen. Unter Windows wird ValueError ausgelöst, wenn path und start auf verschiedenen Laufwerken liegen.

start ist standardmäßig os.curdir.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.samefile(path1, path2, /)

Gibt True zurück, wenn beide Pfadnamen auf dieselbe Datei oder dasselbe Verzeichnis verweisen. Dies wird durch die Gerätenummer und die i-Knoten-Nummer bestimmt und löst eine Ausnahme aus, wenn ein Aufruf von os.stat() für einen der Pfadnamen fehlschlägt.

Geändert in Version 3.2: Unterstützung für Windows hinzugefügt.

Geändert in Version 3.4: Windows verwendet jetzt dieselbe Implementierung wie alle anderen Plattformen.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.sameopenfile(fp1, fp2)

Gibt True zurück, wenn die Dateideskriptoren fp1 und fp2 auf dieselbe Datei verweisen.

Geändert in Version 3.2: Unterstützung für Windows hinzugefügt.

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.samestat(stat1, stat2, /)

Gibt True zurück, wenn die Stat-Tupel stat1 und stat2 auf dieselbe Datei verweisen. Diese Strukturen können von os.fstat(), os.lstat() oder os.stat() zurückgegeben worden sein. Diese Funktion implementiert den zugrunde liegenden Vergleich, der von samefile() und sameopenfile() verwendet wird.

Geändert in Version 3.4: Unterstützung für Windows hinzugefügt.

os.path.split(path, /)

Teilt den Pfadnamen path in ein Paar (head, tail), wobei tail die letzte Pfadkomponente und head alles davor ist. Der Teil tail enthält niemals einen Schrägstrich; wenn path mit einem Schrägstrich endet, ist tail leer. Wenn kein Schrägstrich in path vorhanden ist, ist head leer. Wenn path leer ist, sind sowohl head als auch tail leer. Nachgestellte Schrägstriche werden aus head entfernt, es sei denn, es handelt sich um die Wurzel (nur ein oder mehrere Schrägstriche). In allen Fällen gibt join(head, tail) einen Pfad zum selben Speicherort wie path zurück (die Zeichenketten können jedoch unterschiedlich sein). Siehe auch die Funktionen dirname() und basename().

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.splitdrive(path, /)

Teilt den Pfadnamen path in ein Paar (drive, tail), wobei drive entweder ein Einhängepunkt oder eine leere Zeichenkette ist. Auf Systemen, die keine Laufwerksangaben verwenden, ist drive immer die leere Zeichenkette. In allen Fällen ist drive + tail dasselbe wie path.

Unter Windows teilt dies einen Pfadnamen in Laufwerk/UNC-Sharepoint und relativen Pfad.

Wenn der Pfad einen Laufwerksbuchstaben enthält, enthält drive alles bis einschließlich des Doppelpunkts.

>>> splitdrive("c:/dir")
("c:", "/dir")

Wenn der Pfad einen UNC-Pfad enthält, enthält drive den Hostnamen und den Share.

>>> splitdrive("//host/computer/dir")
("//host/computer", "/dir")

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.splitroot(path, /)

Teilt den Pfadnamen path in ein 3-Elemente-Tupel (drive, root, tail), wobei drive ein Gerätename oder Einhängepunkt ist, root eine Zeichenkette von Trennzeichen nach dem Laufwerk ist und tail alles nach der Wurzel ist. Jedes dieser Elemente kann eine leere Zeichenkette sein. In allen Fällen gilt drive + root + tail als path.

Auf POSIX-Systemen ist drive immer leer. Die root kann leer sein (wenn path relativ ist), ein einzelner Schrägstrich (wenn path absolut ist) oder zwei Schrägstriche (implementierungsabhängig gemäß IEEE Std 1003.1-2017; 4.13 Pathname Resolution.) Zum Beispiel:

>>> splitroot('/home/sam')
('', '/', 'home/sam')
>>> splitroot('//home/sam')
('', '//', 'home/sam')
>>> splitroot('///home/sam')
('', '/', '//home/sam')

Unter Windows kann drive leer sein, ein Laufwerksbuchstaben-Name, ein UNC-Share oder ein Gerätename. Die root kann leer sein, ein Schrägstrich oder ein Rückwärtsschrägstrich. Zum Beispiel:

>>> splitroot('C:/Users/Sam')
('C:', '/', 'Users/Sam')
>>> splitroot('//Server/Share/Users/Sam')
('//Server/Share', '/', 'Users/Sam')

Hinzugefügt in Version 3.12.

os.path.splitext(path, /)

Teilt den Pfadnamen path in ein Paar (root, ext), sodass root + ext == path und die Erweiterung ext leer ist oder mit einem Punkt beginnt und höchstens einen Punkt enthält.

Wenn der Pfad keine Erweiterung enthält, ist ext ''.

>>> splitext('bar')
('bar', '')

Wenn der Pfad eine Erweiterung enthält, wird ext auf diese Erweiterung gesetzt, einschließlich des führenden Punkts. Beachten Sie, dass vorherige Punkte ignoriert werden.

>>> splitext('foo.bar.exe')
('foo.bar', '.exe')
>>> splitext('/foo/bar.exe')
('/foo/bar', '.exe')

Führende Punkte der letzten Komponente des Pfads werden als Teil der Wurzel betrachtet.

>>> splitext('.cshrc')
('.cshrc', '')
>>> splitext('/foo/....jpg')
('/foo/....jpg', '')

Geändert in Version 3.6: Akzeptiert ein pfadähnliches Objekt.

os.path.supports_unicode_filenames

True, wenn beliebige Unicode-Zeichenketten als Dateinamen verwendet werden können (innerhalb der durch das Dateisystem auferlegten Einschränkungen).