9 consejos útiles para trabajar con el sistema operativo usando Python

TAquí hay varias situaciones en las que queremos trabajar con el sistema operativo usando Python. Es posible que queramos ver los detalles del usuario o que deseemos realizar algunas tareas con los archivos y directorios. Si usted es un administrador del sistema, le resultará útil trabajar con el sistema operativo, ya que se pueden automatizar fácilmente algunas tareas repetidas del sistema operativo utilizando Python.

Aunque se pueden realizar las mismas tareas utilizando scripts de shell básicos, tiene capacidades limitadas y no le dará tanta potencia como en Python. Además, el mismo script de Python se puede usar en cualquier lugar y también integrar los códigos a otros proyectos de Python. Hay una gran cantidad de módulos para trabajar con el sistema operativo en Python. Algunos de los módulos que se incluyen en la biblioteca estándar de Python y funcionan bien con los sistemas operativos son os / ruta, pwd, glob, shutil, y subproceso.

Antes de comenzar con este tutorial, debe tener instalado Python. Si aún no lo tiene instalado, consulte nuestra guía paso a paso para instalar Python en Linux.

Índice

Obteniendo información del sistema operativo usando Python

En ocasiones, es posible que desee obtener la información necesaria del sistema operativo, como el nombre de usuario, la identificación de usuario o simplemente el nombre del sistema operativo. Además, es posible que el programa necesite saber en qué sistema operativo se está ejecutando para poder ajustar las tareas para diferentes sistemas operativos.

1. Obtener los detalles del sistema operativo

Podemos obtener detalles del sistema operativo como la plataforma, el nombre de la distribución de Linux (si usa Linux), el nombre del sistema operativo, etc. usando Python. Para obtener el nombre del sistema operativo, podemos usar los módulos os o sys. Estos módulos están incluidos en la biblioteca estándar de Python, por lo que no necesitamos instalarlos para usarlos en nuestros proyectos. Puede abrir el shell de Python escribiendo Python o python3 en el terminal del sistema.

python

O

python3

Puede obtener el tipo de sistema operativo usando el os biblioteca ejecutando el siguiente código en el shell de Python.

>>> import os
>>> os.name
'posix'

Como puede ver, el código anterior tenía posix de visualización para el sistema operativo Linux. Si está utilizando Windows, mostrará 'nt'. También puede obtener el nombre del sistema operativo mediante el módulo sys. Puede ejecutar el siguiente código para ver cómo funciona.

>>> import sys
>>> sys.platform
'linux'

Como puede ver, el resultado de la función de plataforma del módulo sys ha mostrado el nombre Linux mientras lo estoy usando. Obtendrá "win 32" para Windows.

Puedes usar el tu nombre función del módulo del sistema operativo para obtener una descripción detallada, consulte el siguiente código para ver cómo funciona.

>>> import os
>>> os.uname()
posix.uname_result(sysname="Linux", nodename="kali", release="5.6.0-kali2-amd64", version='#1 SMP Debian 5.6.14-2kali1 (2020-06-10)', machine="x86_64")

Este código ha demostrado que estoy usando Kali Linux. Este código solo está disponible para el sistema operativo Linux. No se aplica a Windows.

2. Obtener el nombre de usuario usando Python

Puede obtener el nombre del inicio de sesión del usuario actual en el sistema usando Python escribiendo el siguiente código en el shell de Python:

>>> import os
>>> os.getlogin()
'roshan'

3. Obtener el tamaño de la terminal

También puede obtener el tamaño de la terminal usando Python. Ejecute el siguiente código en el shell de Python.

>>> import os
>>> os.get_terminal_size()
os.terminal_size(columns=80, lines=23)

Esto imprimirá el tamaño del terminal actual. Esto escribirá dos valores, el número de columnas y el número de líneas. Se puede acceder a columnas o líneas individuales utilizando el siguiente código. Copie el siguiente programa en un archivo con el nombre terminal.py y ejecútelo usando python3 terminal.py.

import os

col, lines = os.get_terminal_size()
print("Number of columns :",col)
print("Number of lines :",lines)

Puede ver la salida del programa como se muestra a continuación: -

Obtener el tamaño de la terminal
Producción

Realización de operaciones básicas con archivos y directorios

Veamos ahora cómo trabajar con archivos y directorios usando Python. Python se ha convertido en un lenguaje de programación maduro y ahora puede realizar tareas para las que necesitamos aprender diferentes lenguajes de programación. Python también es bueno para automatizar varias tareas relacionadas con archivos y carpetas, y al usar los siguientes códigos de manera automatizada. Puede realizar automatizaciones como limpieza de carpetas, mover archivos con formatos específicos de un lugar a otro, etc.

4. Obtener la ruta del directorio actual

Para obtener la ruta del directorio actual, podemos usar la función getcwd () del módulo os; es muy parecido al comando pwd del shell de Linux.

>>> import os
>>> os.getcwd()
'/home/roshan/Documents/fosslinux'

Como puede ver, el código generó la ruta del directorio en el que estoy usando el shell de Python.

5. Enumere todos los archivos y carpetas presentes en un directorio.

También puede enumerar todos los archivos y subdirectorios presentes en un directorio. Para enumerar los archivos y carpetas en el directorio actual, ejecute el siguiente código:

>>>import os
>>>os.listdir()

La salida se parece a algo parecido a la imagen de abajo. El código anterior muestra una lista de Python de todos los archivos y directorios presentes en el directorio de trabajo actual.

enumerar archivos y carpetas en un directorio

También puede enumerar los archivos y el subdirectorio presentes en otro directorio dando la ruta del directorio entre paréntesis. Consulte el siguiente código para comprender cómo funciona.

>>>import os
>>>os.listdir("/root/Desktop")

Puede ver la salida del código anterior como se muestra en la siguiente imagen

enumerar archivos y directorios

La salida dada por listdir ("D:/python") es una lista de Python de todos los archivos y directorios presentes en el directorio. "D:/python". Si la ruta del directorio que proporciona entre paréntesis no existe en el sistema, generará un FileNotFoundError.

6. Creación de un directorio

Para crear un directorio usando Python, necesita usar el mkdir función del módulo del sistema operativo de Python. Veamos cómo crear un directorio usando Python. Ejecute el siguiente código en el shell de Python.

>>>import os
>>>os.mkdir("os")

Esto creará un directorio operativo en el directorio actual. Si el directorio ya existe, obtendrá un FileExistError; Puede verse algo como esto:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileExistsError: [Errno 17] File exists: 'os'

Para un mejor manejo de errores usando tratar y excepto. Necesita simplemente copiar el código y pegarlo en un archivo llamado makedir.py y ejecutar el programa Python usando el comando python3 makedir.py en tu terminal;

import os

path = "os"

try:
    os.mkdir(path)
    print("The Directory has been created successfully")

except FileExistsError:
    print("The Directory named " + path + " already exists")

Puede ver la salida como en la siguiente imagen:

creando un directorio usando python

La diferencia entre el primer código y el código anterior es que el segundo programa usa un método try / except para el manejo de errores. La función del método try / except en el código anterior es que el intérprete de Python intentará ejecutar el código en el bloque try primero y, si obtiene un FileExistError, ejecutará el código en el bloque except. Esta es una buena práctica para usar el bloque try / except en un programa de Python para que pueda detectar fácilmente el error y pueda ejecutar el bloque de código presente en la parte except si hay un error.

7. Cambiar el nombre de un archivo

También puede cambiar el nombre de un archivo con Python. Para cambiar el nombre de un archivo, utilice la función de cambio de nombre del módulo os. La función de cambio de nombre acepta dos argumentos importantes, el primer argumento es la ruta al archivo que desea cambiar de nombre y el otro archivo es el nombre al que desea cambiar el nombre del archivo original. Vea el código que se presenta a continuación para ver cómo funciona, escriba el código en el shell de Python y vea cómo funciona.

>>>import os
>>>os.rename("file1.txt,file2.txt")

El código anterior cambiará el nombre del archivo file1.txt con el nombre file2.txt. Esto mostrará un error si el archivo file1.txt no está presente en la ruta dada, así que proporcione la ruta correcta.

8. Eliminar un archivo

Para eliminar un archivo, debe utilizar el retirar() función de la os módulo. Mire el siguiente código para ver cómo hacer esto:

>>>import os
>>>os.remove("sample.txt")

Esto eliminará el archivo sample.txt presente en el directorio actual; también puede dar la ruta del archivo si está presente en otros directorios. Si el archivo no existe en la ruta dada, obtendrá un FileNotFoundError. Utilice el método de manejo de excepciones descrito en el subtema anterior para tratar los errores.

9. Eliminar un directorio

Si el proporcionado sendero es un directorio, obtendrá OSError porque esta función no se puede utilizar para eliminar un directorio. Usar rmdir()método para eliminar los directorios. Consulte el siguiente código para obtener una mejor ilustración.

>>>import os
>>>os.rmdir("sample_dir")

El código anterior eliminará el directorio llamado sample_dir. GRAMOive la ruta de las carpetas si están presentes en otros directorios para eliminarlas.

Conclusión

Se trata de varios consejos útiles para obtener de manera efectiva el sistema operativo y otra información que necesita mientras usa Python. ¿Qué otros consejos tienes que estás dispuesto a compartir? Háganos saber en los comentarios a continuación. Antes de irse, es posible que también le guste ver el tutorial sobre cómo ejecutar el comando de shell con Python, que le muestra cómo usar los comandos de shell de Linux fácilmente en programas de Python.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir