Varias formas comunes de ejecutar comandos del sistema en Python
#Simplemente ejecute el comando del sistema en el subterminal. No se obtendrá información de retorno después de ejecutar el comando.
#Si se ejecuta nuevamente en el. línea de comando, el resultado será Se imprimirá directamente, por ejemplo: import osos.system('ls')
chk_err_log.py CmdTool.log install_log.txt install_zabbix.sh Manage_deploy.sh MegaSAS.log
(2 )osos.popen
# Este método no solo ejecutará el comando, sino que también devolverá un objeto de información posterior a la ejecución
#La ventaja es que asignará el resultado devuelto a una variable. La ventaja es que los resultados devueltos se asignan a variables, lo que hace que el programa sea más fácil de procesar.
Por ejemplo: import ostmp = os.popen('ls *.sh').readlines()tmp['install_zabbix.shn', 'manage_deploy.shn', 'mysql_setup.shn', 'python_manage_ implementar .shn', 'setup.shn']
(3)Uso del subproceso del móduloUso: importar subproceso
subprocess.call (["cmd", "arg1", "arg2" ] , shell=True)
La ventaja es que al utilizar el control y la supervisión de subprocesos, el resultado devuelto se asigna a una variable, lo que facilita el procesamiento del programa.
Por ejemplo, obtenga el retorno y la salida:
importar subproceso
p = subprocess.Popen('ls *.sh', shell=True, stdout =subprocess.PIPE, stderr=subprocess.STDOUT)
imprimir p.stdout.readlines()
para la línea en p.stdout.readlines():
imprimir línea,
retval = p.wait()
(4) Uso del módulo de comandos del módulo
Hay dos métodos principales comúnmente utilizados: getoutput y getstatusoutput
Importar comandos
comandos. getoutput('ls *.sh')
'install_zabbix.shnmanage_deploy.shnmysql_setup.shnpython_manage_deploy.shnsetup.sh'
commands.getstatusoutput('ls *.sh')
(0, 'install_zabbix.shnmanage_deploy.shnmysql_setup.shnpython_manage_deploy.shnsetup.sh')
Nota: Si los parámetros o el valor de retorno del comando contienen caracteres chinos, se recomienda utilizar un subproceso Si usa os.popen, se producirá un error.