Posts Tagged ‘python’

Renomeando arquivos com Python

Wednesday, November 19th, 2008

Situação: Precisava renomear 55 arquivos para uma ordem numérica sequencial, começando pelo número 1 e indo até o 55. Não queria instalar um soft só para isso, certo?! Óbvio…

Solução: Python. Com um script muito simples o trabalho foi feito! Confira abaixo!

import os
 
cnt = 1
base_dir = "/caminho/para/o/diretorio/dos/arquivos"
 
for root, dirs, files in os.walk(base_dir):
    for file in files:
        old_name = os.path.join(root, file)
        new_name = str(cnt) + ".png"
        new_name = os.path.join(root, new_name)
        os.rename(old_name, new_name)
        cnt = cnt + 1

Simples não?
Python FTW!

Checando e-mails com Python!

Tuesday, May 27th, 2008

Ontem até que procurei um software free que fizesse isso no Mac, não achei nenhum convincente… então, resolvi escrever o meu! Linguagem? Python na cabeça…. até agora foi incrívelmente simples. Agora vou fazer uma GUI pra ele usando o PyObjc.

Enquanto não faço, veja como está até agora…

from UserDict import UserDict
import poplib
 
class mailAccount(UserDict):
    "Cria as contas para checagem... Oo"
    def __init__(self,
                 pop = None,
                 login = None,
                 passwd = None):
        UserDict.__init__(self)
        self["pop"] = pop
        self["login"] = login
        self["passwd"] = passwd
 
    def checkMail(self):
        M = poplib.POP3(self["pop"])
        M.user(self["login"])
        M.pass_(self["passwd"])
        numMessages = len(M.list()[1])
        return " - %s... %d message(s)" % (self["login"][0:15], numMessages)
 
myMail = mailAccount("POP", "LOGIN", "PASS")
 
print "\nChecking e-mail:"
print myMail.checkMail()
print ""

Como usar? Simples…. adicione accounts duplicando a linha “myMail = ….” e alterando o servidor POP, o LOGIN e sua senha (troque também a variável myMail). Feito isso, adicione outra linha abaixo do “print myM…”, só que agora com a sua váriável.

O sistema ainda é muito simples… não tem validação de erros, porém funciona que é uma beleza! Assim que eu fizer uma GUI pra ele coloco aqui! Valeus…