Zoeken…


Invoering

Deze module implementeert enkele nuttige functies op padnamen. De padparameters kunnen worden doorgegeven als tekenreeksen of bytes. Toepassingen worden aangemoedigd om bestandsnamen weer te geven als (Unicode) tekenreeksen.

Syntaxis

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

Join Paths

Om twee of meer padcomponenten samen te voegen, importeert u eerst de os-module van python en gebruikt u vervolgens het volgende:

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

Het voordeel van het gebruik van os.path is dat code compatibel blijft met alle besturingssystemen, omdat dit het scheidingsteken gebruikt dat geschikt is voor het platform waarop het wordt uitgevoerd.

Het resultaat van deze opdracht op Windows is bijvoorbeeld:

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

In een Unix OS:

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

Absoluut pad vanaf relatief pad

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

Padcomponentmanipulatie

Een component van het pad splitsen:

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

Download de bovenliggende map

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

Als het opgegeven pad bestaat.

om te controleren of het opgegeven pad bestaat

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

controleer of het gegeven pad een map, bestand, symbolische link, koppelpunt etc. is

om te controleren of het opgegeven pad een map is

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

om te controleren of het opgegeven pad een bestand is

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

om te controleren of het gegeven pad een symbolische link is

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

om te controleren of het gegeven pad een koppelpunt is

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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow