Este documento apresenta Jeronimo Zucco, um analista de suporte da UCS especializado em Linux e código aberto. Zucco argumenta que Python é uma linguagem de programação útil para sysadmins por ser fácil de aprender e usar para tarefas repetitivas, além de ter melhor performance que shell scripts. Ele apresenta exemplos de códigos em Python, Bash e Perl para ilustrar como Python produz códigos mais legíveis e descritivos.
2. Quem sou eu ?
● Analista de Suporte da UCS
● Bacharel em Ciência da Computação - UCS
● Especialista em Gerência e Segurança de
Redes – UCS
● Atua com Linux e servidores web desde 1998
● Entusiasta de software de código aberto
Python Brasil [5]
Setembro de 2009
4. Mas eu sou um SYSADMIN,
não um Programador !
Python Brasil [5]
Setembro de 2009
5. Sysadmins criam programas
para realizar tarefas repetitivas
(e tediosas) com precisão –
Todas as linguagens são
ferramentas !
Python Brasil [5]
Setembro de 2009
7. KISS Principle
“Keep it Simple, Stupid”
ou
“Keep it Short and Simple”
Python Brasil [5]
Setembro de 2009
8. Python é melhor que Bash,
Perl, Ruby, ... ?
(coloque sua linguagem
preferida aqui)
Python Brasil [5]
Setembro de 2009
9. OK, OK... Então porque
Python para o Sysadmin?
Python Brasil [5]
Setembro de 2009
10. 1
Python é fácil de aprender
sintaxe simples
Python Brasil [5]
Setembro de 2009
11. 2
Python é mais descritivo
para estruturas de dados
complexas: listas,
dicionários, tuplas (leitura
+ simples do código)
Python Brasil [5]
Setembro de 2009
12. 3
Python é fácil de manter
(alterar e expandir o código)
Python Brasil [5]
Setembro de 2009
13. 4
Python é simples mas pode
resolver problemas complexos
(parser,xml,sockets,etc)
Python Brasil [5]
Setembro de 2009
14. 5
Python é mais "legível" que
Perl - mais fácil de manter
Python Brasil [5]
Setembro de 2009
15. 6
Python tem mais
bibliotecas que Ruby
"batteries included:
Python Standard Library"
Python Brasil [5]
Setembro de 2009
16. 7
Python = + performance
que shell scripts
Python Brasil [5]
Setembro de 2009
21. Código em Bash
#!/bin/bash
if [ -d "/tmp" ] ; then
echo "/tmp is a directory"
else
echo "/tmp is not a directory"
fi Python Brasil [5]
Setembro de 2009
22. Código em Perl
#!/usr/bin/perl
if (-d "/tmp") {
print "/tmp is a directoryn";
} else {
print "/tmp is not a directoryn";
}
Python Brasil [5]
Setembro de 2009
23. Código em Python
#!/usr/bin/env python
import os
if os.path.isdir("/tmp"):
print "/tmp is a directory"
else:
print "/tmp is not a directory"
Python Brasil [5]
Setembro de 2009
24. Alguns Exemplos Python
>>> import os
>>> os.mkdir("/tmp/teste")
>>> import os
>>> dir(os)
'abort', 'access', 'altsep', 'chdir',
'chmod', 'chown', 'chroot',
'close','getcwd', 'getenv', 'geteuid',
'getgid', 'getgroups', 'getlogin', 'getpid',
'getppid', 'getsid', 'getuid', 'isatty', 'kill'
Python Brasil [5]
Setembro de 2009