Módulo os de Python

El módulo OS de Python proporciona funciones sencillas que nos permiten interactuar y obtener información del sistema operativo e incluso controlar procesos hasta cierto límite.

Módulo OS de Python

Las funciones que proporciona el módulo OS nos permiten operar en tareas subyacentes del sistema operativo, independientemente de si es una plataforma Windows, Macintosh o Linux. En esta lección, revisaremos estas funciones y qué podemos hacer con ellas. Comencemos nuestro viaje con estas funciones y la información que ofrecen.

import os de Python

Tenga en cuenta que primero debemos importar el módulo OS en nuestro programa, solo así podremos ejecutar cualquiera de sus funciones.

os.name

Esta función devuelve el nombre del módulo OS que importa. Esto difiere según el Sistema Operativo subyacente. Actualmente, registra ‘posix’, ‘os2’, ‘ce’, ‘nt’, ‘riscos’ y ‘java’. Ejecutémoslo en el sistema:

>>> print(os.name)
posix

Claramente, esto puede producir diferentes plataformas según el intérprete.

os.environ

environ no es una función, sino un parámetro de proceso a través del cual podemos acceder a las variables de entorno del sistema. Veamos un fragmento de código de ejemplo:

import os
output = os.environ['HOME']
print(output)

Cuando ejecutemos este script, el siguiente será el resultado: Podemos usarlo para trabajar con las variables de entorno, lee más en Configurar variable de entorno en Python.

os.execvp

execvp es una función que permite ejecutar otros comandos en el sistema. Veamos un fragmento de código de ejemplo para esta función:

import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) +  tuple(arguments)))

Para esto, simplemente creamos un script de ejemplo llamado hello.py con el siguiente código:

print('Hello')

Cuando ejecutemos este script, esto será la salida:

os.getuid

Esta función del módulo os devuelve el ID de usuario o UID del proceso actual, como es popularmente conocido.

>>> os.getuid()
501

Entonces, el ID del proceso de la shell actual es 501.

os.rename

Con la función de renombrar de os en Python, podemos cambiar fácilmente el nombre de un archivo.

import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')

Nótese que para esto, debemos proporcionar permisos correctos a nuestro script.

os.system

La función de sistema de os en Python nos permite ejecutar un comando en el script de Python, tal como si lo estuviera ejecutando en mi shell. Por ejemplo:

import os
currentFiles = os.system("users > users.txt")

Cuando ejecuté este script, se creó un nuevo archivo en el mismo directorio con el nombre users.txt y el contenido String como ‘shubham’, ya que esto es devuelto también por la shell original: Nótese que este es un comando muy poderoso y debe usarse con precaución.

os.error

La clase de error del módulo os de Python es la clase base para errores relacionados con la E/S. Por lo tanto, podemos capturar errores de E/S utilizando OSError en la cláusula except.

import os

try:
    f = open('abc.txt', 'r')  # file is missing
except OSError:
    print('Error')

os.getpid

Esta función devuelve el ID de proceso actual o PID, como se le conoce popularmente.

>>> os.getpid()
71622

Así, el ID de usuario del proceso de shell actual es 71622.

os.listdir

Esta función simplemente enumera los archivos y directorios presentes en el directorio de trabajo actual.

>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']

Devuelve una lista iterable de nombres de directorios y archivos.

os.uname

Esta función devuelve información que identifica el sistema operativo actual en el que se ejecuta.

>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')

Eso fue bastante detallado en realidad.

import os.path vs import os

os.path funciona de manera extraña en realidad. Parece que os viene con un submódulo path, pero en realidad, os es un módulo normal que opera con sys.module para soportar os.path. Veamos qué sucede detrás de escena:

  • Cuando Python se inicia, carga muchos módulos en sys.module.
  • El módulo os también se carga cuando Python se inicia. Asigna su path al atributo específico del módulo os.
  • Inyecta sys.modules['os.path'] = path para que puedas hacer import os.path como si fuera un submódulo.

Resumen

En esta lección, aprendimos sobre varias funciones proporcionadas por el módulo OS en Python y vimos cómo funcionan. Mira más lecciones sobre Python aquí. Referencia: Documentación de la API

Source:
https://www.digitalocean.com/community/tutorials/python-os-module