Mostrando postagens com marcador Códigos Python. Mostrar todas as postagens
Mostrando postagens com marcador Códigos Python. Mostrar todas as postagens

quarta-feira, 22 de junho de 2011

Função para validar CPF e CNPJ (Python)

#!/usr/bin/env python
# coding: utf-8
# is_brId.py 20080218 AF
# atualizado 20080429 AF

import sys

def is_brId(value, force_cnpj=False):
def calcdv(numb):
result = int()
seq = reversed(((range(9, id_type[1], -1)*2)[:len(numb)]))
for digit, base in zip(numb, seq):
result += int(digit)*int(base)

dv = result % 11
return (dv < 10) and dv or 0

id_type = (len(value)>11 or force_cnpj) \
and ['CNPJ', 1] or ['CPF', -1]

numb, xdv = value[:-2], value[-2:]
dv1 = calcdv(numb)
dv2 = calcdv(numb + str(dv1))
return (('%d%d' % (dv1, dv2) == xdv and True or False), id_type[0])

if __name__ == '__main__':
try:
id = sys.argv[1]
except IndexError:
print 'use: %s [CPF|CNPJ]' % sys.argv[0]
else:
print is_brId(id)

quarta-feira, 15 de junho de 2011

Descobrindo data de modificação de um arquivo (Python)

import os
import datetime
mtime = datetime.datetime.fromtimestamp(os.path.getmtime('/etc/resolv.conf'))

A função getmtime, dentro do submódulo path do módulo os, retorna o número de segundos entre epoch (1/1/1970) e a data de modificação do arquivo passado como parâmetro (e.g., /etc/resolv.conf). Com este número, podemos instanciar um objeto datetime, à partir do construtor fromtimestamp.

Envio de e-mail via código (Python)

import smtplib

try:
msg =
{}
msg
['From']="EMAIL REMETENTE"
msg
['To']="EMAIL DESTINATÁRIO"
msg
['Subject'] = "Assunto"
msg
['Mensagem'] = "CORPO DA MENSAGEM/CONTEÚDO"

servidor = smtplib.SMTP
()
smtpserver =
"SERVIDOR SMTP"#Exemplo: smtp.uol.com
print"Conectando..."
servidor.login("EMAIL REMETENTE","SENHA DO REMETENTE")
servidor.connect(smtpserver,25)#Conecta-se ao servidor através da porta 25
print"Enviando..."
texto =
"From: %snTo: %snSubject: %sn%s"% (msg['From'], msg['To'], msg['Subject'], msg['Mensagem'])
servidor.sendmail
(msg['From'], msg['To'], Mensagem)
print"Desconectando..."
servidor.quit
()#Desconecta
except Exception, e:
print"Erro: %s" % e
else:
print"Enviado com sucesso!" #Avisa ao usuário que o envio ocorreu corretamente