Python Language
os.path
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)