LinuxLudus: aituo per programmino: creazione password ed md5sum
    Valerio Pachera 
    sirio81@gmail.com
       
    Ven 19 Set 2008 14:39:54 CEST
    
    
  
Ciao a tutti, è un po' che non metto mano a python e sono comunque un novellino.
Ho una necessità pratica da usare come esercizio per imparare qualcosa
di più di python:
volgio fare un piccolo script per generare delle password ed il relativo md5.
Come input deve prendere i paramteri "numero di password da creare",
"il nome del file" dove salvarle ed il "separatore" usato per separare
le password e l'md5 nel file che verrà scritto.
Ho creato lo script ma NON SO COME SCRIVERE SU UN FILE IL RISULTATO.
ecco lo script:
----------
# coding=utf-8
import md5
import random
def genpasswd (lenght=8):
    passwd=""
    for num in random.sample(range(0,10), lenght):
        passwd += str(num)
    return passwd
def genlist (records, separator):
    c = 0
    passwd = ""
    md5sum = ""
    record = []
    passwd_list = []
    while c < records:
        new_passwd = genpasswd()
        new_md5 = md5.new (new_passwd).hexdigest() + separator
        new_passwd += separator
        record = [new_passwd, new_md5]
        passwd_list.append (record)
        c += 1
    return passwd_list
def genfile (filename, records=1, separator=';'):
    passwd_list = genlist(records, separator)
    print "devo scrivere i seguenti record sul file ", filename
    for record in passwd_list:
        #scrivi i record su un file di testo
        print record
genfile ("prova", 4)
------------
Mi potete cortesemente aiutare a completare questo script?
Aggiungete naturalmente i vostri suggerimenti per migliorarlo.
Googlando ho trovato qualche spunto
def dsvgen(filename,separator=':'):
    """generates a list of values for each line in a dsv file
    >>> for row in dsvgen('myfilename'): print row
    """
    print "script executed"
    inpfile=open(filename)
    for line in inpfile:
        yield line.strip().split(separator)
    inpfile.close()
Qua ho trovato dei metodi che hanno a che fare con la scrittura dei file
http://docs.python.it/html/lib/bltin-file-objects.html
ma non spiega quando usarli. Immagino ad esempio che vadano usato dopo
aver aperto il file come sopra...ma non l'ho ancora letto da nessuna
parte.
Questo è il modulo per il calcolo dell'md5sum usato nello script
http://www.python.org/doc/current/lib/module-md5.html
    
    
       
       Maggiori informazioni sulla lista 
	       linuxludus