Python3 OS Métodos de archivos/directorios
osEl módulo es un módulo importante en la biblioteca estándar de Python, que proporciona funciones para interactuar con el sistema operativo.
Medianteosel módulo, puedes realizar tareas como operaciones de archivos, operaciones de directorios, gestión de variables de entorno, gestión de procesos, etc.
osEl módulo es multiplataforma, lo que significa que puedes usar el mismo código en diferentes sistemas operativos (como Windows, Linux, macOS).
Antes de usarosel módulo, primero debes importarlo. Para importarosel módulo, el código es el siguiente:
import os
Funciones comunes del módulo os
1. Obtener el directorio de trabajo actual
os.getcwd()La función se utiliza para obtener la ruta del directorio de trabajo actual. El directorio de trabajo actual es el directorio donde se ejecuta el script de Python.
Ejemplo
print("Directorio de trabajo actual:", current_directory)
2. Cambiar el directorio de trabajo actual
os.chdir(path)La función se utiliza para cambiar el directorio de trabajo actual.pathes la ruta del directorio al que deseas cambiar.
Ejemplo
print("Nuevo directorio de trabajo:", os.getcwd())
3. Listar el contenido de un directorio
os.listdir(path)La función se utiliza para listar todos los archivos y subdirectorios en el directorio especificado. Si no se proporcionapathel parámetro, por defecto se lista el contenido del directorio de trabajo actual.
Ejemplo
print("Contenido del directorio:", files_and_dirs)
4. Crear un directorio
os.mkdir(path)La función se utiliza para crear un nuevo directorio. Si el directorio ya existe, se lanzaráFileExistsErroruna excepción.
Ejemplo
5. Eliminar un directorio
os.rmdir(path)La función se utiliza para eliminar un directorio vacío. Si el directorio no está vacío, se lanzaráOSErroruna excepción.
Ejemplo
6. Eliminar un archivo
os.remove(path)La función se utiliza para eliminar un archivo. Si el archivo no existe, se lanzaráFileNotFoundErroruna excepción.
Ejemplo
7. Renombrar un archivo o directorio
os.rename(src, dst)La función se utiliza para renombrar un archivo o directorio.srces la ruta original,dstes la nueva ruta.
Ejemplo
8. Obtener una variable de entorno
os.getenv(key)La función se utiliza para obtener el valor de la variable de entorno especificada. Si la variable de entorno no existe, devuelveNone。
Ejemplo
print("Directorio HOME:", home_directory)
9. Ejecutar un comando del sistema
os.system(command)La función se utiliza para ejecutar comandos en el shell del sistema operativo. Después de la ejecución del comando, devuelve el estado de salida del comando.
Ejemplo
Métodos comunes de os
osEl módulo proporciona una gran variedad de métodos para manejar archivos y directorios. Los métodos comunes se muestran en la siguiente tabla:
| N.º | Método y descripción |
|---|---|
| 1 | Comprobar el modo de permisos |
| 2 | Cambiar el directorio de trabajo actual |
| 3 | Establecer las banderas de la ruta como banderas numéricas. |
| 4 | Cambiar los permisos |
| 5 | Cambiar el propietario del archivo |
| 6 | Cambiar el directorio raíz del proceso actual |
| 7 | Cerrar el descriptor de archivo fd |
| 8 | os.closerange(fd_low, fd_high) Cerrar todos los descriptores de archivo, desde fd_low (incluido) hasta fd_high (excluido), los errores se ignoran |
| 9 | Duplicar el descriptor de archivo fd |
| 10 | Copiar un descriptor de archivo fd a otro fd2 |
| 11 | Cambiar el directorio de trabajo actual mediante el descriptor de archivo |
| 12 | Cambiar los permisos de acceso de un archivo, el archivo está especificado por el parámetro fd, el parámetro mode son los permisos de acceso de archivo en Unix. |
| 13 | Modificar la propiedad de un archivo, esta función modifica el ID de usuario y el ID de grupo de usuario de un archivo, el archivo está especificado por el descriptor de archivo fd. |
| 14 | Forzar la escritura del archivo en el disco, el archivo está especificado por el descriptor de archivo fd, pero no se fuerza la actualización de la información de estado del archivo. |
| 15 | os.fdopen(fd[, mode[, bufsize]]) Crear un objeto de archivo a través del descriptor de archivo fd y devolver este objeto de archivo |
| 16 | Devolver la información de configuración del sistema de un archivo abierto. name es el valor de configuración del sistema a consultar, puede ser una cadena que define valores del sistema, estos nombres están especificados en muchos estándares (POSIX.1, Unix 95, Unix 98, y otros). |
| 17 | Devuelve el estado del descriptor de archivo fd, como stat(). |
| 18 | Devuelve la información del sistema de archivos que contiene el archivo con el descriptor de archivo fd, en Python 3.3 equivale a statvfs(). |
| 19 | Forzar la escritura en el disco del archivo con descriptor de archivo fd. |
| 20 | Truncar el archivo correspondiente al descriptor de archivo fd, de modo que no pueda superar el tamaño del archivo. |
| 21 | Devolver el directorio de trabajo actual |
| 22 | Devolver un objeto Unicode del directorio de trabajo actual |
| 23 | Si el descriptor de archivo fd está abierto y está conectado a un dispositivo tty (o similar), devuelve true, de lo contrario False. |
| 24 | Establecer las banderas de la ruta como banderas numéricas, similar a chflags(), pero sin enlaces simbólicos |
| 25 | Modificar los permisos del enlace |
| 26 | Cambiar el propietario del archivo, similar a chown, pero sin seguir los enlaces. |
| 27 | Crear un enlace duro, llamado parámetro dst, que apunta al parámetro src |
| 28 | Devuelve la lista de nombres de archivos o directorios que contiene el directorio especificado por path. |
| 29 | Establece la posición actual del descriptor de archivo fd en pos, modificado según how: SEEK_SET o 0 establece pos calculada desde el inicio del archivo; SEEK_CUR o 1 calcula desde la posición actual; os.SEEK_END o 2 comienza desde el final del archivo. Válido en Unix y Windows. |
| 30 | Como stat(), pero sin enlaces simbólicos |
| 31 | Extraer el número major del dispositivo del número de dispositivo original (usando el campo st_dev o st_rdev de stat). |
| 32 | Componer un número de dispositivo original a partir de los números de dispositivo major y minor |
| 33 | Función de creación recursiva de directorios. Similar a mkdir(), pero crea todos los directorios de nivel intermedio necesarios. |
| 34 | Extraer el número minor del dispositivo del número de dispositivo original (usando el campo st_dev o st_rdev de stat). |
| 35 | Crear una carpeta llamada path con un modo numérico. El modo predeterminado es 0777 (octal). |
| 36 | Crear una tubería con nombre, mode es numérico, por defecto es 0666 (octal). |
| 37 | os.mknod(filename[, mode=0600, device]) |
| 38 | Abrir un archivo y establecer las opciones de apertura necesarias, el parámetro mode es opcional |
| 39 | Abrir un nuevo par de pseudo terminales. Devuelve los descriptores de archivo de pty y tty. |
| 40 | Devuelve la información de configuración del sistema del archivo relacionado. |
| 41 | Crear una tubería. Devuelve un par de descriptores de archivo (r, w) para lectura y escritura respectivamente. |
| 42 | os.popen(command[, mode[, bufsize]]) Abrir una tubería desde un comando |
| 43 | Leer como máximo n bytes del descriptor de archivo fd, devuelve una cadena que contiene los bytes leídos. Si el archivo correspondiente al descriptor de archivo fd ha llegado al final, devuelve una cadena vacía. |
| 44 | Devuelve el archivo al que apunta el enlace simbólico |
| 45 | Eliminar el archivo con la ruta path. Si path es una carpeta, se lanzará OSError; consulta rmdir() a continuación para eliminar un directorio. |
| 46 | Eliminar directorios de forma recursiva. |
| 47 | Renombrar un archivo o directorio, de src a dst |
| 48 | Renombrar directorios de forma recursiva; también se puede renombrar archivos. |
| 49 | Eliminar el directorio vacío especificado por path. Si el directorio no está vacío, se lanza una excepción OSError. |
| 50 | Obtener la información de la ruta especificada por path, funcionalmente equivalente a la llamada al sistema stat() en la API de C. |
| 51 | os.stat_float_times([newvalue]) |
| 52 | Obtener la información estadística del sistema de archivos de la ruta especificada |
| 53 | Crear un enlace simbólico |
| 54 | Devuelve el grupo de procesos asociado con el terminal fd (un descriptor de archivo abierto devuelto por os.open()) |
| 55 | Establece el grupo de procesos asociado con el terminal fd (un descriptor de archivo abierto devuelto por os.open()) en pg. |
| 56 | os.tempnam([dir[, prefix]]) Eliminado en Python3.Devuelve un nombre de ruta único para crear archivos temporales. |
| 57 | os.tmpfile() Eliminado en Python3.Devuelve un objeto de archivo abierto en modo (w+b). Este objeto de archivo no tiene entrada de carpeta, no tiene descriptor de archivo y se eliminará automáticamente. |
| 58 | os.tmpnam() Eliminado en Python3.Devuelve una ruta única para crear un archivo temporal. |
| 59 | Devuelve una cadena que representa el dispositivo terminal asociado con el descriptor de archivo fd. Si fd no está asociado con un dispositivo terminal, se lanza una excepción. |
| 60 | Eliminar la ruta del archivo. |
| 61 | Devuelve el tiempo de acceso y modificación del archivo especificado por path. |
| 62 | os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) Muestra los nombres de archivo en las carpetas recorriendo el árbol, hacia arriba o hacia abajo. |
| 63 | Escribe una cadena en el descriptor de archivo fd. Devuelve la longitud real de la cadena escrita. |
| 64 | Obtener la información de atributos del archivo. |
| 65 | Obtener el directorio principal del directorio actual, mostrando el nombre del directorio como una cadena. |
| 66 | Renombrar un archivo o directorio. |
| 67 | Se utiliza para abrir un archivo o carpeta en Windows. |