Saltar a contenido

Módulo os

import os
print(os.uname())

# posix.uname_result(sysname='Linux', nodename='javidev', release='5.4.0-131-generic', version='#147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022', machine='x86_64')
  • posix (obtendrás este nombre si usas Unix)
  • nt (obtendrás este nombre si usas Windows)
  • java (obtendrá este nombre si tu código está escrito en algo como Jython)
import os
print(os.name)

#posix

Desafortunadamente, la función uname solo funciona en algunos sistemas Unix. Si usas Windows, puede usar la función uname en el módulo plataform, que devuelve un resultado similar.

La función uname devuelve un objeto que contiene información sobre el sistema operativo actual. El objeto tiene los siguientes atributos:

  • systemname (almacena el nombre del sistema operativo)
  • nodename (almacena el nombre de la máquina en la red)
  • release (almacena el release (actualización) del sistema operativo)
  • version (almacena la versión del sistema operativo)
  • machine (almacena el identificador de hardware, por ejemplo, x86_64)

mkdir

El módulo os proporciona una función llamada mkdir, la cual, como el comando mkdir en Unix y Windows, te permite crear un directorio. La función mkdir requiere una ruta que puede ser relativa o absoluta

import os

os.mkdir("my_first_directory")
print(os.listdir())
import os

os.mkdir("hello") # la ruta relativa
os.mkdir("/home/python/hello") # la ruta absoluta

Nota

Si el directorio existe, una excepción FileExistsError será generada.

Además de la función mkdir, el módulo os proporciona la función makedirs, que te permite crear recursivamente todos los directorios en una ruta.

makedirs

Permite la creación recursiva de directorios, lo que significa que se crearán todos los directorios de la ruta.

import os

os.makedirs("my_first_directory/my_second_directory")
os.chdir("my_first_directory")
print(os.listdir())

getcwd

import os

os.makedirs("my_first_directory/my_second_directory")
os.chdir("my_first_directory")
print(os.getcwd())
os.chdir("my_second_directory")
print(os.getcwd())

rmdir

import os

os.mkdir("my_first_directory")
print(os.listdir())
os.rmdir("my_first_directory")
print(os.listdir())

removedirs

import os

os.makedirs("my_first_directory/my_second_directory")
os.removedirs("my_first_directory/my_second_directory")
print(os.listdir())

system

La función system está disponible tanto en Windows como en Unix. Dependiendo del sistema, devuelve un resultado diferente.

En Windows, devuelve el valor devuelto por el shell después de ejecutar el comando dado, mientras que en Unix, devuelve el estado de salida del proceso.

import os

returned_value = os.system("mkdir my_first_directory")
print(returned_value)

Última actualización: 2022-11-08