El módulo del sistema operativo en Python proporciona acceso a funciones específicas del sistema para tratar con el sistema de archivos, procesos, programador, etc. Debe dominar el sistema operativo Python para escribir aplicaciones que se ocupen de problemas del mundo real. Esta guía analiza algunos de los conceptos básicos e ilustra cómo usar el comando del sistema Python.
Características del sistema operativo Python
El sistema operativo sirve como una forma portátil de interactuar con el sistema operativo subyacente. Ofrece acceso a nombres de archivo, argumentos de línea de comando, variables de entorno, parámetros de proceso y jerarquía del sistema de archivos junto con otras funcionalidades.
Este módulo también contiene dos submódulos, el módulo os.sys y el módulo os.path. Puede utilizar las funciones proporcionadas por el módulo del sistema operativo para realizar una amplia gama de tareas. Algunos usos comunes incluyen ejecutar comandos de shell, administrar archivos y directorios, procesos de desoveetc.
Introducción al módulo del sistema operativo
La forma más sencilla de explorar el módulo del sistema operativo es a través del intérprete. Puede importar el módulo allí y utilizar las funciones del sistema sin escribir código fuente. Sin embargo, debe tener Python instalado para esto. Así que adelante e instala Python en tu máquina local.
Relacionado: Cómo instalar Python en Ubuntu
Inicie el intérprete escribiendo pitón en su terminal o shell de comandos. Una vez que esté abierto, importe el módulo del sistema operativo utilizando la siguiente declaración.
>>> importar sistema operativo
Ahora puede acceder a las funcionalidades proporcionadas por el módulo del sistema operativo, incluido Python sistema mando. Por ejemplo, puede determinar la plataforma del sistema utilizando el nombre mando. El siguiente ejemplo muestra cómo invocar los comandos del sistema expuestos por el módulo del sistema operativo.
>>> os.name
Esta función verifica si ciertos módulos específicos del sistema operativo están presentes y determina la plataforma en base a eso. Utilizar el tu nombre función para obtener información detallada.
>>> os.uname ()
Este comando muestra la plataforma del sistema exacta junto con la arquitectura de la máquina, la versión y la información de la versión. Utilizar el getcwd función para recuperar el directorio de trabajo actual.
>>> os.getcwd ()
Puede cambiar fácilmente el directorio de trabajo usando el comando del sistema Python chdir. Pase la nueva ubicación como un parámetro de cadena.
>>> os.chdir ('/ tmp')
los mkdir La función del módulo OS hace que la creación de nuevos directorios sea sencilla. También nos permite crear carpetas recursivas, lo que significa que Python creará todos los directorios faltantes que son padres del directorio hoja.
>>> os.mkdir ('nuevo-directorio')
Utilizar el rmdir comando para eliminar directorios de su directorio de trabajo.
>>> os.rmdir ('nuevo-directorio')
Ejemplos de comandos del sistema Python
El comando del sistema proporcionado por el módulo del sistema operativo permite a los programadores ejecutar comandos de shell. Asegúrese de definir el nombre del comando como una cadena. Una vez que llamas a la pitón sistema comando, ejecutará el comando dado en una nueva subcapa.
>>> cmd = 'fecha'
>>> os.system (cmd)
Puede ejecutar otras aplicaciones independientes utilizando este mismo método. El siguiente ejemplo ejecuta el editor de terminal nano desde su shell de Python.
>>> cmd = 'nano'
>>> os.system (cmd)
El sistema Python OS también genera el código de retorno para cada comando que se ejecuta. Los sistemas POSIX devuelven 0 para una ejecución exitosa y valores distintos de cero para indicar problemas.
Puede utilizar el sistema operativo en Python para ejecutar lo que desee. Por ejemplo, si su programa necesita leer la información de la versión de un programa en la máquina del usuario, puede hacer algo como lo siguiente.
>>> cmd = 'gcc --version'
>>> os.system (cmd)
El siguiente ejemplo ejecuta un comando de shell simple que crea un nuevo archivo llamado users.txt y lo completa con todos los usuarios conectados. Muchos programas de Python hacen estas cosas.
>>> os.system ('usuarios> prueba')
Pasamos el nombre del comando al sistema operativo como una cadena. Puede utilizar todo tipo de comandos de terminal útiles de la misma manera.
>>> os.system ('ping -c 3 google.com')
También puedes usar subproceso llamadas para ejecutar comandos del sistema desde Python. Esto proporciona varios beneficios adicionales, que incluyen un tiempo de ejecución más rápido, un mejor manejo de errores, análisis de salida y comandos de shell de canalización. La documentación oficial de Python también recomienda la llamada al subproceso sobre módulos más antiguos como os.system y os.spawn.
>>> subproceso de importación
>>> subprocess.run (["ping", "- c 3", "example.com"])
Gestión de archivos y directorios a través del módulo del sistema operativo
Hemos mostrado cómo crear archivos y directorios simples usando el módulo del sistema operativo Python. ¿Qué sucede si desea crear carpetas anidadas? El sistema operativo también se encarga de esto para nosotros, los programadores. Por ejemplo, los siguientes fragmentos crean la carpeta $ HOME / test / root / api. También creará los directorios principales necesarios si no están disponibles.
>>> dirname = os.path.join (os.environ ['INICIO'], 'prueba', 'raíz', 'api')
>>> imprimir (dirname)
>>> os.makedirs (dirname)
Primero, recuperamos el directorio de inicio usando reinar y luego se unió a los nombres de las carpetas a través de os.path.join. La declaración de impresión muestra el nombre de la carpeta y makedirs lo crea.
Podemos ver el nuevo directorio usando el listdir método del módulo OS.
>>> os.chdir (os.path.join (os.environ ['INICIO'], 'prueba', 'raíz', 'api'))
>>> os.system ('toque archivo1 archivo2 archivo3')
>>> os.listdir (os.environ ['INICIO'])
Puede cambiar fácilmente el nombre del directorio api usando el rebautizar comando ofrecido por el módulo del sistema operativo. La siguiente declaración cambia el nombre de este directorio api a test-api.
>>> os.rename ('api', 'test-api')
Utilizar el isfile y isdir función del sistema operativo si su programa necesita validar archivos o directorios específicos.
>>> os.path.isfile ('archivo1')
>>> os.path.isdir ('archivo1')
El módulo del sistema operativo en Python también permite a los desarrolladores extraer nombres de archivos y carpetas junto con las extensiones de archivo. Los siguientes fragmentos ilustran el uso de os.path.split y os.path.splitext a este respecto.
>>> dir = os.path.join (os.environ ['INICIO'], 'prueba', 'root', 'api', 'file1.txt')
>>> nombreDirectorio, nombre base = os.path.split (dir)
>>> imprimir (dirname)
>>> imprimir (nombre base)
Utilice el siguiente código para extraer extensiones como .txt o .mp3 de los nombres de archivo.
>>> nombre de archivo, extensión = os.path.splitext (nombre base)
>>> imprimir (nombre de archivo)
>>> imprimir (extensión)
Uso misceláneo del sistema operativo Python
El módulo del sistema operativo ofrece muchas funciones adicionales para manipular cosas como los procesos del usuario y el programador de trabajos. Por ejemplo, puede obtener rápidamente el UID (ID de usuario) del proceso actual utilizando el getuid función.
>>> os.getuid ()
>>> os.getgid ()
los getgid La función devuelve el ID de grupo del proceso en ejecución. Usar getpid para obtener el PID (ID de proceso) y getppid para obtener la identificación del proceso principal.
>>> os.getpid ()
>>> os.getppid ()
También puede usar el módulo del sistema operativo para cambiar los permisos de archivos y directorios desde su programa Python. Utilizar el chmod función del sistema operativo para hacer esto.
>>> os.chmod ('archivo1.txt', 0o444)
Este comando cambia el permiso de file1.txt a 0444. Usar 0o444 en vez de 0444 para asegurarse de que la declaración sea compatible con las dos versiones principales de Python.
Aproveche el poder del sistema operativo Python
El módulo del sistema operativo de Python proporciona todo lo que necesita para interactuar con el sistema operativo subyacente. Se necesita una comprensión clara del sistema operativo para escribir programas verdaderamente multiplataforma. Hemos cubierto algunas de las funcionalidades principales proporcionadas por este módulo para ayudarlo a comenzar. Pruébelos a su propio ritmo y no olvide jugar con ellos.
¿Listo para llevar tu codificación Python al siguiente nivel? Es hora de entender cómo crear y usar tuplas.
- Programación
- Pitón
Rubaiat es un licenciado en informática con una gran pasión por el código abierto. Además de ser un veterano de Unix, también se dedica a la seguridad de redes, la criptografía y la programación funcional. Es un ávido coleccionista de libros de segunda mano y tiene una admiración interminable por el rock clásico.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.