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

current_directory = os.getcwd()
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

os.chdir("/path/to/new/directory")
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

files_and_dirs = os.listdir()
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

os.mkdir("new_directory")

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

os.rmdir("new_directory")

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

os.remove("file_to_delete.txt")

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

os.rename("old_name.txt", "new_name.txt")

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

home_directory = os.getenv("HOME")
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

os.system("ls -l")

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

os.access(path, mode)


Comprobar el modo de permisos
2

os.chdir(path)


Cambiar el directorio de trabajo actual
3

os.chflags(path, flags)


Establecer las banderas de la ruta como banderas numéricas.
4

os.chmod(path, mode)


Cambiar los permisos
5

os.chown(path, uid, gid)


Cambiar el propietario del archivo
6

os.chroot(path)


Cambiar el directorio raíz del proceso actual
7

os.close(fd)


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

os.dup(fd)


Duplicar el descriptor de archivo fd
10

os.dup2(fd, fd2)


Copiar un descriptor de archivo fd a otro fd2
11

os.fchdir(fd)


Cambiar el directorio de trabajo actual mediante el descriptor de archivo
12

os.fchmod(fd, mode)


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

os.fchown(fd, uid, gid)


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

os.fdatasync(fd)


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

os.fpathconf(fd, name)


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

os.fstat(fd)


Devuelve el estado del descriptor de archivo fd, como stat().
18

os.fstatvfs(fd)


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

os.fsync(fd)


Forzar la escritura en el disco del archivo con descriptor de archivo fd.
20

os.ftruncate(fd, length)


Truncar el archivo correspondiente al descriptor de archivo fd, de modo que no pueda superar el tamaño del archivo.
21

os.getcwd()


Devolver el directorio de trabajo actual
22

os.getcwdb()


Devolver un objeto Unicode del directorio de trabajo actual
23

os.isatty(fd)


Si el descriptor de archivo fd está abierto y está conectado a un dispositivo tty (o similar), devuelve true, de lo contrario False.
24

os.lchflags(path, flags)


Establecer las banderas de la ruta como banderas numéricas, similar a chflags(), pero sin enlaces simbólicos
25

os.lchmod(path, mode)


Modificar los permisos del enlace
26

os.lchown(path, uid, gid)


Cambiar el propietario del archivo, similar a chown, pero sin seguir los enlaces.
27

os.link(src, dst)


Crear un enlace duro, llamado parámetro dst, que apunta al parámetro src
28

os.listdir(path)


Devuelve la lista de nombres de archivos o directorios que contiene el directorio especificado por path.
29

os.lseek(fd, pos, how)


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

os.lstat(path)


Como stat(), pero sin enlaces simbólicos
31

os.major(device)


Extraer el número major del dispositivo del número de dispositivo original (usando el campo st_dev o st_rdev de stat).
32

os.makedev(major, minor)


Componer un número de dispositivo original a partir de los números de dispositivo major y minor
33

os.makedirs(path[, mode])


Función de creación recursiva de directorios. Similar a mkdir(), pero crea todos los directorios de nivel intermedio necesarios.
34

os.minor(device)


Extraer el número minor del dispositivo del número de dispositivo original (usando el campo st_dev o st_rdev de stat).
35

os.mkdir(path[, mode])


Crear una carpeta llamada path con un modo numérico. El modo predeterminado es 0777 (octal).
36

os.mkfifo(path[, mode])


Crear una tubería con nombre, mode es numérico, por defecto es 0666 (octal).
37

os.mknod(filename[, mode=0600, device])
Crear un nodo del sistema de archivos llamado filename (archivo, archivo especial de dispositivo o pipe nombrado).

38

os.open(file, flags[, mode])


Abrir un archivo y establecer las opciones de apertura necesarias, el parámetro mode es opcional
39

os.openpty()


Abrir un nuevo par de pseudo terminales. Devuelve los descriptores de archivo de pty y tty.
40

os.pathconf(path, name)


Devuelve la información de configuración del sistema del archivo relacionado.
41

os.pipe()


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

os.read(fd, n)


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

os.readlink(path)


Devuelve el archivo al que apunta el enlace simbólico
45

os.remove(path)


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

os.removedirs(path)


Eliminar directorios de forma recursiva.
47

os.rename(src, dst)


Renombrar un archivo o directorio, de src a dst
48

os.renames(old, new)


Renombrar directorios de forma recursiva; también se puede renombrar archivos.
49

os.rmdir(path)


Eliminar el directorio vacío especificado por path. Si el directorio no está vacío, se lanza una excepción OSError.
50

os.stat(path)


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])
Decidir si stat_result muestra las marcas de tiempo como objetos float

52

os.statvfs(path)


Obtener la información estadística del sistema de archivos de la ruta especificada
53

os.symlink(src, dst)


Crear un enlace simbólico
54

os.tcgetpgrp(fd)


Devuelve el grupo de procesos asociado con el terminal fd (un descriptor de archivo abierto devuelto por os.open())
55

os.tcsetpgrp(fd, pg)


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

os.ttyname(fd)


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

os.unlink(path)


Eliminar la ruta del archivo.
61

os.utime(path, times)


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

os.write(fd, str)


Escribe una cadena en el descriptor de archivo fd. Devuelve la longitud real de la cadena escrita.
64

Módulo os.path


Obtener la información de atributos del archivo.
65

os.pardir()


Obtener el directorio principal del directorio actual, mostrando el nombre del directorio como una cadena.
66

os.replace()


Renombrar un archivo o directorio.
67

os.startfile()


Se utiliza para abrir un archivo o carpeta en Windows.
Otras extensiones