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