domingo, 18 de outubro de 2009

Utilizando Python no dia-a-dia

Bem, não vou repetir o que todo mundo já sabe sobre python. O que eu pretendo é passar pra vocês uma maneira de melhorar o dia-a-dia de um iniciante no mundo Linux como eu.

Todo mundo conhece o terminal do Linux e os intimidadores shell scripts. Muita gente ao ver um script no terminal ou qualquer outra coisa se intimida somente pelo fato de estar no mesmo. A verdade que todo iniciante conhece com o tempo, é que o terminal é a maioria das vezes um atalho pra qualquer coisa que você deseje fazer. Normalmente, quando você ganha prática, tarefas que necessitariam 6 cliques e alguma espera para que as janelas abram, e mais toda a poluição visual que o ambiente gráfico nos proporciona, se resumiriam em uma única linha de comando.

Unindo esta facilidade ao python, pode-se criar scripts que acabariam com aquelas tarefas repetitivas como: testar programas, criar usuários, ou seja la o que for. Utilizando os comandos do terminal dentro do seu script python, da seguinte forma:


import os
import sys
from sys import *

os.system('ls -l | grep argv[1]')


Na primeira linha, adicionamos o módulo os, que contém muitos submódulos, porém nós só vamos utilizar o system, para introduzir comandos ao terminal. Na segunda linha, adicionamos o módulo sys, e depois todos os submódulos, para utilizarmos o argv. Argv é um vetor de strings, que funciona assim: quando você executa um script em python, você vai escrever no terminal ./nome_do_script. Essa string nome_do_script vai ser a primeira posição do nosso vetor argv. Caso eu passe algum parâmetro ao executar o script ./nome_do_script argumento1 argumento2 argumento3, cada argumento vai estar numa posição subseqüente, ou seja:


print argv[0]
print argv[1]
print argv[2]
print argv[3]


iria me retornar:


nome_do_script
argumento1
argumento2
argumento3


Após criar o script, salve como teste.py por exemplo, e digite o comando


chmod +x teste.py


para torná-lo executável. fim!

Você pode utilizar qualquer comando e toda a estrutura da linguagem para auxiliar no seu dia-a-dia.

2 comentários:

Repensando a Web disse...

Parabéns Gilles... Que bom que você iniciou o blog! A ideia da rede de blogs está ficando mais forte com esse tipo de iniciativa. Já coloquei teu blog como parceiro do meu la no Repensando a Web... Abraço e continue postando!

Unknown disse...

Aew Gilles!
Boa sorte com o novo Blog!!!

Realmente, usar a semântica de uma linguagem de programação como Python para realizar comandos no terminal é uma ótima idéia. Já tive a oportunidade de fazer isso uma vez.

Abração!