Python os.path módulo
Python OS métodos de archivos/directorios
El módulo os.path se utiliza principalmente para obtener atributos de archivos.
A continuación se presentan algunos métodos comunes del módulo os.path:
| Método | Descripción |
|---|---|
| os.path.abspath(path) | Devuelve la ruta absoluta |
| os.path.basename(path) | Devuelve el nombre del archivo |
| os.path.commonprefix(list) | Devuelve la ruta común más larga entre todas las rutas en la lista (múltiples rutas) |
| os.path.dirname(path) | Devuelve la ruta del archivo |
| os.path.exists(path) | Si la ruta path existe, devuelve True; si la ruta path no existe o está dañada, devuelve False. |
| os.path.lexists(path) | Devuelve True si la ruta existe, y también devuelve True si la ruta está dañada |
| os.path.expanduser(path) | Convierte lo incluido en path~y~useral directorio de usuario |
| os.path.expandvars(path) | Reemplaza según el valor de la variable de entornopathcontenido en$namey${name} |
| os.path.getatime(path) | Devuelve el tiempo de último acceso (segundos en punto flotante) |
| os.path.getmtime(path) | Devuelve el tiempo de última modificación del archivo |
| os.path.getctime(path) | Devuelve el tiempo de creación del archivo path |
| os.path.getsize(path) | Devuelve el tamaño del archivo; si el archivo no existe, devuelve un error |
| os.path.isabs(path) | Determina si es una ruta absoluta |
| os.path.isfile(path) | Determina si la ruta es un archivo |
| os.path.isdir(path) | Determina si la ruta es un directorio |
| os.path.islink(path) | Determina si la ruta es un enlace |
| os.path.ismount(path) | Determina si la ruta es un punto de montaje |
| os.path.join(path1[, path2[, ...]]) | Combina un directorio y un nombre de archivo en una ruta |
| os.path.normcase(path) | Convierte las mayúsculas/minúsculas y las barras de path |
| os.path.normpath(path) | Normaliza la forma de cadena de path |
| os.path.realpath(path) | Devuelve la ruta real de path |
| os.path.relpath(path[, start]) | Calcula la ruta relativa a partir de start |
| os.path.samefile(path1, path2) | Determina si el directorio o archivo es el mismo |
| os.path.sameopenfile(fp1, fp2) | Determina si fp1 y fp2 apuntan al mismo archivo |
| os.path.samestat(stat1, stat2) | Determina si las tuplas stat stat1 y stat2 apuntan al mismo archivo |
| os.path.split(path) | Divide la ruta en dirname y basename, devuelve una tupla |
| os.path.splitdrive(path) | Generalmente se usa en Windows, devuelve una tupla compuesta por el nombre de la unidad y la ruta |
| os.path.splitext(path) | Divide la ruta, devuelve una tupla del nombre de la ruta y la extensión del archivo |
| os.path.splitunc(path) | Divide la ruta en punto de montaje y archivo |
| os.path.walk(path, visit, arg) | Recorre path, llama a la función visit en cada directorio. La función visit debe tener 3 parámetros (arg, dirname, names). dirname representa el nombre del directorio actual, names representa todos los nombres de archivo en el directorio actual, y args es el tercer parámetro de walk. |
| os.path.supports_unicode_filenames | Configura si se admite nombres de ruta Unicode |
Ejemplo
El siguiente ejemplo demuestra el uso de métodos relacionados con os.path:
Ejemplo
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
print( os.path.basename('/root/ejemplo.txt') ) # Devuelve el nombre del archivo
print( os.path.dirname('/root/ejemplo.txt') ) # Devuelve la ruta del directorio
print( os.path.split('/root/ejemplo.txt') ) # Separa el nombre del archivo y la ruta
print( os.path.join('root','test','ejemplo.txt') ) # Combina el directorio y el nombre del archivo en una ruta
La salida del programa anterior es:
ejemplo.txt
/root
('/root', 'ejemplo.txt')
root/test/ejemplo.txt
El siguiente ejemplo muestra información relacionada con el archivo.
Ejemplo
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import time
file='/root/ejemplo.txt' # Ruta del archivo
print( os.path.getatime(file) ) # Muestra el tiempo de último acceso
print( os.path.getctime(file) ) # Muestra el tiempo de creación del archivo
print( os.path.getmtime(file) ) # Muestra el tiempo de última modificación
print( time.gmtime(os.path.getmtime(file)) ) # Muestra el tiempo de última modificación en formato struct_time
print( os.path.getsize(file) ) # Muestra el tamaño del archivo (en bytes)
print( os.path.abspath(file) ) # Muestra la ruta absoluta
print( os.path.normpath(file) ) # Normaliza la forma de cadena de path
La salida del programa anterior es:
1539052805.5735736 1539052805.5775735 1539052805.5735736 time.struct_time(tm_year=2018, tm_mon=10, tm_mday=9, tm_hour=2, tm_min=40, tm_sec=5, tm_wday=1, tm_yday=282, tm_isdst=0) 7 /root/ejemplo.txt /root/ejemplo.txtOtras extensiones