Suche…


Einführung

Dieses Modul implementiert einige nützliche Funktionen für Pfadnamen. Die Pfadparameter können als Zeichenfolgen oder Bytes übergeben werden. Anwendungen sollten Dateinamen als (Unicode) Zeichenketten darstellen.

Syntax

  • os.path.join (a, * p)
  • os.path.basename (p)
  • os.path.dirname (p)
  • os.path.split (p)
  • os.path.splitext (p)

Pfade beitreten

Um zwei oder mehr Pfadkomponenten miteinander zu verbinden, importieren Sie zuerst das os-Modul von python und verwenden Sie dann Folgendes:

import os
os.path.join('a', 'b', 'c')

Der Vorteil der Verwendung von os.path ist, dass der Code über alle Betriebssysteme hinweg kompatibel bleibt, da hierbei das für die Plattform geeignete Trennzeichen verwendet wird.

Das Ergebnis dieses Befehls unter Windows lautet beispielsweise:

>>> os.path.join('a', 'b', 'c')
'a\b\c'

In einem Unix-Betriebssystem:

>>> os.path.join('a', 'b', 'c')
'a/b/c'

Absoluter Pfad vom relativen Pfad

Verwenden Sie os.path.abspath :

>>> os.getcwd()
'/Users/csaftoiu/tmp'
>>> os.path.abspath('foo')
'/Users/csaftoiu/tmp/foo'
>>> os.path.abspath('../foo')
'/Users/csaftoiu/foo'
>>> os.path.abspath('/foo')
'/foo'

Pfadkomponenten-Manipulation

So trennen Sie eine Komponente vom Pfad ab:

>>> p = os.path.join(os.getcwd(), 'foo.txt')
>>> p
'/Users/csaftoiu/tmp/foo.txt'
>>> os.path.dirname(p)
'/Users/csaftoiu/tmp'
>>> os.path.basename(p)
'foo.txt'
>>> os.path.split(os.getcwd())
('/Users/csaftoiu/tmp', 'foo.txt')
>>> os.path.splitext(os.path.basename(p))
('foo', '.txt')

Holen Sie sich das übergeordnete Verzeichnis

os.path.abspath(os.path.join(PATH_TO_GET_THE_PARENT, os.pardir))

Wenn der angegebene Pfad existiert

um zu überprüfen, ob der angegebene Pfad existiert

path = '/home/john/temp'
os.path.exists(path)
#this returns false if path doesn't exist or if the path is a broken symbolic link

Prüfen Sie, ob der angegebene Pfad ein Verzeichnis, eine Datei, ein symbolischer Link, ein Einhängepunkt usw. ist.

um zu überprüfen, ob der angegebene Pfad ein Verzeichnis ist

dirname = '/home/john/python'
os.path.isdir(dirname)

um zu überprüfen, ob der angegebene Pfad eine Datei ist

filename = dirname + 'main.py'
os.path.isfile(filename)

um zu überprüfen, ob der angegebene Pfad ein symbolischer Link ist

symlink = dirname + 'some_sym_link'
os.path.islink(symlink)

um zu überprüfen, ob der angegebene Pfad ein Einhängepunkt ist

mount_path = '/home'
os.path.ismount(mount_path)


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow