Arquivo

Python

Postagens em Python.

Procurando String em Arquivo com Python

Por esses dias fiz um módulo em Python para buscar uma palavra em algum determinado arquivo, pois achei mais viável para o que estava fazendo, então decidi compartilhar com vocês, e para isso fiz também um script, irei mostrar os dois aqui :). Opniões serão bem vinda, óbvio :).

  • Script SearchString.py

  • Módulo searchstring.py

Abaixo coloquei um exemplo do uso do script e como usei o módulo re (Regular Expression) posso fazer buscas mais precisas. O arquivo que escolhi para mostrar os exemplos foi o script do post Enviando Email em Python:



Enviando Email em Python

Python tem um módulo smtplib que permite o envio de emails tradicionais através do protocolo SMTP. Antes de falar sobre o módulo vamos dá uma olhada no código abaixo:

A classe SMTP controla a conexão com um servidor SMTP, para isso informei, host e a porta. O método SMTP.sendmail(sender, recipient, message) envia o email e o método SMTP.quit() termina a sessão com o servidor SMTP e fecha a conexão.

No exemplo acima como pode ser observado o corpo do email é um texto atribuído a uma variável, mas e se você estiver usando um script que irá gerar um log em um arquivo e você além de querer que esse log fique no arquivo salvo, você quer que ele também seja enviado por email, nesse caso ficaria assim:



Python 2.x vs Python 3

Sábado passado o Larry Jr. publicou um post em seu blog onde ele explica as diferenças existentes as versões 2.x e 3 da linguagem Python. O post estará em constante atualização e está organizado em tópicos.

Para quem está estudando a linguagem com certeza será uma excelênte leitura.

Na universidade que eu faço, a UFRPE, nós temos a tradição de usar o python como linguagem “oficial”. Portanto eu tenho usado Python a pelo menos 3 anos e a 2 profissionalmente, a algum tempo (+- 6 meses atrás) saiu uma nova versão do Python a 3 ou 3000 ou 3k (escolha o nome que achar melhor), e as opiniões são as mais variadas possíveis, algumas mudanças a tempos era discutida e os caminhos que a linguagem seguia pedia algumas dessas mudanças, e o “Ditador Benevolente do Python” vulgo Guido van Rossum juntamente com os hacker do python após grande discussões chegaram a várias mudanças, algumas, mesmo na versão 3.0, ainda não estão totalmente implementadas e alguns problemas de desempenho ainda existem.

Trecho do Post

Para ler o post clique aqui.



Introdução à estrutura de dados com Python

O Cleibson Almeida entrou em contato comigo há alguns dias e me passou um relatório de 12 páginas sobre algumas caracteristicas da linguagem Python que ele havia feito quando cursou um disciplina onde um dos tópicos era essa linguagem. Achei um ótimo relatório e estou aqui repassando para vocês poderem também ter acesso e dar suas opiniões. 🙂



Python Para Desenvolvedores

Ontem o Luiz Eduardo Borges enviou o seguinte email para a lista Python Brasil:

“Python para desenvolvedores” é o primeiro livro livre sobre Python em português a ser distribuído sob a licença Creative Commons (Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil).

“Python para Desenvolvedores”, explica de forma simples e objetiva, as tecnologias envolvendo a linguagem, utilizadas em projetos envolvendo desde a criação de interfaces gráficas, utilitários e aplicações para internet até sistemas distribuídos.

Site oficial:

http://ark4n.wordpress.com/python/

Gostaria de parabenizar o Luiz pelo ótimo trabalho e desejo muito sucesso :). Ainda não comecei a ler mas, espero iniciar em breve 😛



Verificando Senhas Em Sistemas Unix Com Python

Antes de falar qualquer coisa acho melhor mostrar o script e depois explicá-lo aos poucos. 🙂

Como pode ser visto fiz uso de 2 módulos que são específicos para serviços em sistemas Unix: spwd, crypt e de um módulo para serviços genéricos para sistemas operacionais: getpass.

O spwd é um módulo relativamente novo, pois está disponível a partir da versão 2.5 de Python. Este módulo permite acessar o arquivo shadow e o resultado dos dados são reportados como uma tupla. Lembrando que para esse acesso exista o usuário que executar o script deve ter pemissão de root ou fazer parte do grupo shadow.

No script usei a função getspnam() que retornará como uma tupla as informações contidas no shadow referente ao login que informei, mas como somente preciso da senha descriminei para que fosse retornado somente o item [1].

O crypt é um módulo que implementa a rotina crypt que é uma função Unix de criptografia de senhas, baseado no algoritmo Data Encryption Standard.

No script usei a função crypt(), por sinal única do módulo, onde passei como parâmetros a senha informada e o hash da senha correta, para que fosse gerado um hash da senha informada e em seguida comparei o hash gerado com o hash da senha correta.

O getpass é um módulo onde podemos ter tuas duas funções: Uma delas é a que usamos no script, a  getpass e a outra é a getuser. A getpass() permite que você digite uma senha, sem que seja exibida na saída padrão, assim como o conhecido comando passwd dos sistemas Unix. O getuser() retorna o usuário atual assim como o comando  whoami.

No script usei a função getpass() e atribui a senha passada a ela a uma variável para que fosse possível usá-la depois.

Apesar de ser um script simples, ao meu ver, é de grande utilidade.