Infrid
27-04-2010, 21:23
ciao,
volevo migliorare questo script che utilizzo per convertire, dentro un file di testo, le lettere accentate nei corrispettivi equivalenti in codice html
out = open("pagina.html","w")
line = line.translate(maketrans("èéàòù",""))
for line in open("pagina.txt"):
if line.strip():
line = line.strip()
line = line.replace("è","è")
line = line.replace("é","é")
line = line.replace("à","à")
line = line.replace("ù","ù")
line = line.replace("ò","ò")
line = line.replace("ì","ì")
#line = line.replace("\"",""")
out.write("<p>" + line + "</p>" + "\n\n")
out.close()
volevo togliere tutti quei replace e sembra che la funzione translate (http://docs.python.org/library/stdtypes.html#str.translate)fa al caso mio, questa ha bisogno di una tabella per eseguire la sostituzione dei caratteri. questa tabella si crea con maketrans e servono due stringhe di caratteri identiche in lunghezza per eseguire la sostituzione.
il mio problema è che devo sostituire un carattere con una stringa e non posso usare questo metodo per creare una tabella valida, posso usare in qualche modo un dizionario? conoscete un modo per fare le tabelle?
ps: uso python 2.6
volevo migliorare questo script che utilizzo per convertire, dentro un file di testo, le lettere accentate nei corrispettivi equivalenti in codice html
out = open("pagina.html","w")
line = line.translate(maketrans("èéàòù",""))
for line in open("pagina.txt"):
if line.strip():
line = line.strip()
line = line.replace("è","è")
line = line.replace("é","é")
line = line.replace("à","à")
line = line.replace("ù","ù")
line = line.replace("ò","ò")
line = line.replace("ì","ì")
#line = line.replace("\"",""")
out.write("<p>" + line + "</p>" + "\n\n")
out.close()
volevo togliere tutti quei replace e sembra che la funzione translate (http://docs.python.org/library/stdtypes.html#str.translate)fa al caso mio, questa ha bisogno di una tabella per eseguire la sostituzione dei caratteri. questa tabella si crea con maketrans e servono due stringhe di caratteri identiche in lunghezza per eseguire la sostituzione.
il mio problema è che devo sostituire un carattere con una stringa e non posso usare questo metodo per creare una tabella valida, posso usare in qualche modo un dizionario? conoscete un modo per fare le tabelle?
ps: uso python 2.6