Programación y secuencias de comandos

Módulo Python OS

Introducción

Python es un poderoso lenguaje de secuencias de comandos. Entonces, ¿por qué no usarlo para script Linux?? El sistema operativo El módulo es la respuesta de Python para manejar muchas operaciones de archivos de Linux.

El sistema operativo El módulo permite a Python realizar muchas de las operaciones de archivo y carpeta que normalmente llevaría a cabo en la línea de comandos de Linux. Te permite comenzar a intercambiar Bash por Python, lo que hace que una experiencia de secuencia de comandos mucho más limpia y amigable.

Carga del sistema operativo

El sistema operativo El módulo es un módulo Python como cualquier otro. En cualquier script donde desee usarlo, puede usar una declaración de importación para atraerlo.

importar sistema operativo

getCwd ()

El getCwd () El método devuelve el directorio de trabajo actual en forma de una cadena. No necesitas pasarlo nada. Es aproximadamente el equivalente de pwd.

Imprimir (sistema operativo.getCwd ())

chdir ()

chdir () es el equivalente de pitón de cd. Llame al método y pase el directorio al que desea cambiar como una cadena.

sistema operativo.chdir ('/home/user/documentos')

También admite el uso de rutas relativas como cd.

sistema operativo.chdir ('... /descargas')


listDir ()

Usando listDir () es muy similar a correr LS en Bash. Sin embargo, hay una gran diferencia, el valor de retorno.

En lugar de imprimir el contenido del directorio, los recibe como una lista.

download_list = OS.ListDir ('Downloads') Impresa (download_list) 

Nuevamente, puede especificar el directorio, o enumerará el contenido del directorio actual.

mkdir () y makedirs ()

Estos dos son exactamente lo que esperarías que sean. mkdir () funciona de manera muy similar al comando Linux que conoce. En este caso, puede tomar un segundo parámetro para especificar permisos.

sistema operativo.mkdir ('testdir', 755)

El Makedirs () El método funciona de la misma manera, pero puede crear directorios recursivamente entre sí, eliminando la necesidad de ejecutar mkdir () varias veces.

sistema operativo.Makedirs ('TestDir2/Something/Something', 755)

Una vez más, puede especificar los permisos, si desea.

chmod ()

Esta es una vez más un equivalente directo a su contraparte tradicional. chmod () porque Python toma dos argumentos. El primero es el directorio para cambiar, y el segundo son los permisos para cambiar a.

sistema operativo.chmod ('prueba', 774)

chown ()

También puede cambiar la propiedad con Python. chown () es la forma en que lo haces. El método es muy similar al comando Linux, pero requiere que funcionen las ID de usuario y grupo.

sistema operativo.Chown ('Test', 1000, 1000)

Ese comando cambiará la propiedad del directorio de "prueba" al usuario con una ID de 1000 y el grupo con una ID de 1000.



eliminar () y eliminarirs ()

eliminar() elimina un solo archivo que ha pasado. También puede pasarlo la ruta completa al archivo.

sistema operativo.remover ('/home/user/downloads/somefile')

Para eliminar directorios, use el eliminadoirs () método. Eliminará el directorio especificado y todos sus contenidos.

sistema operativo.RemoveDIRS ('test_dir')

sistema()

Entonces, el último método aquí es el más poderoso y también el más peligroso. El sistema() El método es hacer trampa. Le permite ejecutar cualquier comando de sistema Linux que le pase.

Hay un par de preocupaciones aquí. Primero, para ejecutar el método, Python abre su propia consola. Usando sistema() demasiado es ineficiente y puede acaparar recursos. Más importante, sistema() puede ejecutar cualquier cosa. Eso significa que puede hacer un daño grave. Si vas a usar sistema() Úselo con moderación y en circunstancias controladas.

Intente ejecutar un comando a través de sistema().

Imprimir (sistema operativo.sistema (ls -lah))

También puede ser creativo con él e incluso unir comandos como lo haría en un terminal normal.

Imprimir (sistema operativo.Sistema (PS Aux | Grep Firefox))

Si tiene Firefox en ejecución, el comando encontrará el proceso e imprimirá información sobre él.

Pensamientos de cierre

Has dado el primer paso para escribir su sistema Linux con Python. Hay más herramientas que ofrece Python, y las cosas se vuelven muy complicadas en este espacio. Las herramientas de automatización populares como Ansible y Salt están hechas con Python, por lo que realmente no hay un límite para lo que puede hacer.

Ejercicios

  1. Imprima su directorio actual usando Python.
  2. Cambiar a un directorio diferente e imprima ese.
  3. Cree un bucle que itera sobre el contenido de un directorio e imprima cada uno individualmente.
  4. Cree un nuevo directorio con un directorio dentro y otro un paso hacia abajo.
  5. Cambie los permisos de su nuevo directorio para que el propietario pueda leer la escritura y ejecutar, y todos los demás solo pueden leer y ejecutar.
  6. Eliminar los dos subdirectorios.
  7. Use Python para crear un archivo de texto que enumera todos los procesos que su usuario está ejecutando actualmente.
Linuxcareers.com - portal de trabajo de Linux
Escritor técnico de Linux Jobs de Linux Estamos buscando un escritor técnico orientado a GNU/Linux y Floss Technologies. Tus artículos......
OpenCV Color to GrayScale Conversion Program
La imagen de color encubierta a una escala de grises nunca ha sido más fácil con OpenCV. Aquí hay un pequeño programa de C ++ que hace conversión de l...
Whoami- Manual Página
Nombre WhoMi - Imprima la sinopsis de usuario efectiva WHOAMI [Opción] ... Descripción Imprimir el nombre de usuario asociado con la ID de usuario efe...