Python: Módulo: os.path
El módulo os.path nos permite gestionar diferentes opciones relativas al sistema de ficheros como pueden ser ficheros, directorios, etc.
Nos devuelve el tamaño del path y si no existe o es inaccesible se produce una excepción OSError.
>>> print os.path.getsize('/camino/al/fichero')
1121
Nos devuelve True si el path existe. Devuelve False si el enlace simbólico está roto (también si no se tiene permisos para acceder al path).
directorio
fichero
dir -> otro_dir
file-> fichero
>>> os.path.exists('fichero')
True
>>> os.path.exists('dir')
False
Nos devuelve True si el path es un fichero que existe, sigue enlaces simbólicos, por lo que tanto os.path.islink(path) y os.path.isfile(path) pueden ser verdad ambos.
directorio
fichero
dir -> directorio
file-> fichero
>>> print os.path.isfile('/camino/al/fichero')
True
>>> print os.path.isfile('/camino/al/file')
True
>>> print os.path.isfile('/camino/al/directorio')
False
Nos devuelve True si el path es un directorio que existe, sigue enlaces simbólicos, por lo que tanto os.path.islink(path) y os.path.isdir(path) pueden ser verdad ambos.
directorio
fichero
dir -> directorio
file-> fichero
>>> print os.path.isdir('/camino/al/directorio')
True
>>> print os.path.isdir('/camino/al/fichero')
False
>>> print os.path.islink('/camino/al/dir')
True
Nos devuelve True si el path es un fichero que existe, sigue enlaces simbólicos, por lo que tanto os.path.islink(path) y os.path.isfile(path) pueden ser verdad ambos.
directorio
fichero
dir -> directorio
file-> fichero
>>> print os.path.islink('/camino/al/file')
True
>>> print os.path.islink('/camino/al/dir')
True
>>> print os.path.islink('/camino/al/directorio')
False
Nos devuelve una tupla con dos componentes head y tail, siendo tail la última parte del path (lo mismo que el método os.path.basename(path)) y head el resto del principio (lo mismo que el método os.path.dirname(path)).
>>> os.path.split('/camino/al/file.ext')
('/camino/al', 'file.ext')
>>> os.path.split('/camino/al/dir')
('/camino/al', 'dir')
>>> os.path.split('/camino/al/')
('/camino/al', '')
>>> os.path.split('camino')
('', 'camino')
>>> os.path.split('')
('', '')
Nos devuelve una tupla con dos componentes root y ext, siendo ext la extensión de path y root el resto del principio.
>>> os.path.splitext('/camino/al/file.ext')
('/camino/al/file', '.ext')
>>> os.path.splitext('/camino/al/dir')
('/camino/al/dir', '')
>>> os.path.splitext('.bashrc')
('.bashrc', '')
>>> os.path.splitext('/path/to/.oculto/.bashrc')
('/path/to/.oculto/.bashrc', '')
>>> os.path.splitext('/path/to/.oculto/copia.bashrc')
('/path/to/.oculto/copia', '.bashrc')
Nos devuelve la última parte del path (lo mismo que tail en el método os.path.split(path)).
>>> os.path.basename('/camino/al/file.ext')
'file.ext'
>>> os.path.basename('/camino/al/dir')
'dir'
>>> os.path.basename('/camino/al/')
''
>>> os.path.basename('camino')
'camino'
Nos devuelve la primera parte del path (lo mismo que head en el método os.path.split(path)).
>>> os.path.dirname('/camino/al/file.ext')
'/camino/al'
>>> os.path.dirname('/camino/al/dir')
'/camino/al'
>>> os.path.dirname('/camino/al/')
'/camino/al'
>>> os.path.dirname('camino')
''
Nos devuelve la hora del último acceso a path en formato de segundos desde la época. Si no existe o es inaccesible se produce una excepción OSError
>>> os.path.getatime('file')
1554599739.0
Nos devuelve la hora de la creacion de path en formato de segundos desde la época. Si no existe o es inaccesible se produce una excepción OSError
>>> os.path.getctime('file')
1554599739.0
Nos devuelve la hora de la última modificación de path en formato de segundos desde la época. Si no existe o es inaccesible se produce una excepción OSError
>>> os.path.getmtime('file')
1554599739.0