Archive for the “python” Category

Windows XP crea automaticamente un file, chiamato Thumbs.db, in tutte le cartelle che visita per salvarne la visualizzazione (dettagli, anteprima, etc.). La stessa cosa fa OSX, creando addirittura (!) una cartella dal nome .DS_Store, contenente gli stessi attributi.

Stanco di avere il mio hard disk pieno di questi file (in Vista la gestione di questi file è intelligentemente centralizzata), ho creato uno script Python che analizza ricorsivamente una directory (specificata dall’utente) e stampa tutte le posizioni di questi file e directory indesiderati.image thumb Python: uno script per eliminare i file Thumbs.db e le cartelle .DS Store

Lo script richiede esattamente due argomenti: il path da cui si vuole iniziare ad analizzare ricorsivamente la presenza di file e directory indesiderate, e una stringa che conferma l’azione: nel caso in cui l’opzione sia delete, lo script cancella i file desiderati, altrimenti stamperà soltanto le loro posizioni.

Esempio:

python recursiveDeleteUnwantedFilesAndDir.py C:\ print

stampa la posizione dei i files/directory indesiderati

python recursiveDeleteUnwantedFilesAndDir.py C:\ delete

stampa la posizione dei i files/directory indesiderati e li elimina dal disco

Veniamo al codice sorgente:

import os
import sys

def recursiveDeleteUnwantedFilesAndDir(path,action):
	for root, dirs, files in os.walk(path):
		for name in files:
			if name == 'Thumbs.db':
				print os.path.join(str(root),str(name))
				if action == 'delete':
					os.remove(os.path.join(str(root),str(name)))
		for name in dirs:
			if name == '.DS_Store':
				print os.path.join(str(root),str(name))
				if action == 'delete':
					os.removedirs(os.path.join(str(root),str(name)))

recursiveDeleteUnwantedFilesAndDir(sys.argv[1],sys.argv[2])

Per scaricare lo script: recursiveDeleteUnwantedFilesAndDir.zip

Popularity: 1%

  • Share/Bookmark
Tags: , , , ,

Comments 7 Comments »

Mi è capitato di dover mandare un e-mail da uno script Python: quale provider utilizzare? Ovviamente GMail!

Per questioni di spam, alcuni server SMTP non permettono di inviare e-mail senza essersi prima autenticati; nel caso di GMail, il protocollo per l’invio di mail non è il semplice SMTP in chiaro, bensì SMTP con autenticazione via TLS/SSL.

Ecco lo script Python che vi permetterà di mandare un’e-mail con GMail tramite il vostro account GMail:


#!/usr/bin/python

import smtplib
import time
import datetime
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os

gmail_user = "username@gmail.com"
gmail_pwd = "password"

def mail(to, subject, text):
msg = MIMEMultipart()

msg['From'] = gmail_user
msg['To'] = to
msg['Subject'] = subject

msg.attach(MIMEText(text))

mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(gmail_user, gmail_pwd)
mailServer.sendmail(gmail_user, to, msg.as_string())
mailServer.close()

file = open('body.txt','r')
document = file.read()
mail("dst_addr@gmail.com",
"Subject",
document,
)

Popularity: 1%

  • Share/Bookmark
Tags: , , , ,

Comments 2 Comments »