[PIPython] script funzionante

Adriano Allora all.adr
Mer 29 Dic 2004 12:40:51 CET


Ciao a tutti!

inviandovi i miei migliori auguri per un buon 2005 vi invio anche =20
questo script per la sostituzione in caratteri di escape html dei =20
corrispondenti caratteri normali.

Lo richiamo da linea di comando (la prima linea potrebbe dover essere =20=

sostituita, potete controllare con il comando which python con cosa) e =20=

i caratteri che devono essere sostituiti sono bizzarri, ma =8F quel che =20=

mi restituisce pythonIDLE su macosx e non funziona altrimenti.

Io l'ho fatto per esercizio, ma funziona e magari qualche altro =20
domatore di pitoni alle prime armi come me lo trova utile (anche solo =20=

da esaminare).

Buon anno nuovo!



########################################################################=20=

################

#!/usr/bin/python

import sys

# questo listato sostituisce i >128 con escchar HTML
# grazie alla lista di python.it!

class Correggi:
     def __init__(self):
         cosa =3D raw_input('vuoi solo leggere o anche scrivere? (l/s): =
')
         if cosa =3D=3D 'l':
             In =3D open(raw_input('Digita il nome del file da leggere: =20=

'), 'r')
             print In.read()
         elif cosa =3D=3D 's':
             In =3D open(raw_input('Digita il nome del file da leggere: =20=

'), 'r')
             Out =3D open(raw_input('Digita il nome del file da salvare: =
=20
'), 'w+')
             self.ApriLeggiScrivi(In, Out)
         else:
             sys.exit('questa opzione non esiste riprova')

     def ApriLeggiScrivi(self, In, Out):
         testo =3D ""
         sostituzioni =3D {
		'=B0=C3=8B':'¤',
		'=88=AB':'¦',
		'=C3=BA':'­',
		'=A9=CB=9C':'²',
		'=A9=AF':'³',
		'=A9=CB=86':'¹',
		'1=E2=81=844':'¼',
		'1=E2=81=842':'½',
		'3=E2=81=844':'¾',
		'=C3=80':'À',
		'=C3=81':'Á',
		'=C3=82':'Â',
		'=C3=83':'Ã',
		'=C3=84':'Ä',
		'=C3=85':'Å',
		'=C3=86':'Æ',
		'=C3=87':'Ç',
		'=C3=88':'È',
		'=C3=89':'É',
		'=C3=8A':'Ê',
		'=C3=8B':'Ë',
		'=C3=8C':'Ì',
		'=C3=8D':'Í',
		'=C3=8E':'Î',
		'=C3=8F':'Ï',
		'=AE=A2':'Ð',
		'=C3=91':'Ñ',
		'=C3=92':'Ò',
		'=C3=93':'Ó',
		'=C3=94':'Ô',
		'=C3=95':'Õ',
		'=C3=96':'Ö',
		'=C3=85~':'×',
		'=C3=98':'Ø',
		'=C3=99':'Ù',
		'=C3=9A':'Ú',
		'=C3=9B':'Û',
		'=C3=9C':'Ü',
		'=AE=E2=89=A0':'Þ',
		'=C3=9F':'ß',
		'=C3=A1':'á',
		'=C3=A2':'â',
		'=C3=A3':'ã',
		'=C3=A4':'ä',
		'=C3=A5':'å',
		'=C3=A6':'æ',
		'=C3=A7':'ç',
		'=C3=AA':'ê',
		'=C3=A8':'è',
		'=C3=AB':'ë',
		'=C3=AD':'í',
		'=C3=AE':'î',
		'=C3=AF':'ï',
		'=A9=A3':'ð',
		'=C3=B1':'&ntilde',
		'=C3=B3':'ó',
		'=C3=B4':'ô',
		'=C3=B5':'õ',
		'=C3=B6':'ö',
		'=C3=B7':'÷',
		'=C3=B8':'ø',
		'=C3=BA':'ú',
		'=C3=BB':'û',
		'=C3=BC':'ü',
		'=CB=98':'ý',
		'=A9=E2=89=A0':'þ',
		'=C3=BF':'ÿ',
		'=C3=B2':'ò',
		'=C3=B9':'ù',
		'=C3=AC':'ì',
		'=C3=A9':'é',
		'=C3=A0':'à'
}
         dopo =3D {	'=A8':'¨',
		'=A9':'©',
		'=A5':'¥',
		'=A3':'£',
		'=AC':'¬',
		'=A1':'¡',
		'=A2':'¢',
		'=A7':'§',
		'=AA':'ª',
		'=AB':'«',
		'=AF':'¯',
		'=B0':'°',
		'=B1':'±',
		'=AE':'®',
		'=AF':'Ý',
		'=B4':'´',
		'=B5':'µ',
		'=B6':'¶',
		'=B7':'·',
		'=B8':'¸',
		'=BA':'º',
		'=BB':'»',
		'=BF':'¿'}

         for line in  In.xreadlines():
             for key in sostituzioni.keys():
                 match =3D key
                 sost =3D sostituzioni[key]
                 line =3D line.replace(match,sost)
             for key in dopo.keys():
                 match =3D key
                 sost =3D dopo[key]
                 line =3D line.replace(match,sost)
             testo +=3D line
         Out.write(testo)
         Out.seek(0)
         print Out.read()
         Out.close

modiFigata =3D Correggi()



########################################################################=20=

################










|^|_|^|_|^|				|^|_|^|_|^|=09
  |	     |				 |	     |
  |	     |				 |	     |
  |	     |*\_/*\_/*\_/*\_/*\_/* |	     |
  |	     					     |
  |	     					     |
  |	     	      				     |
  |	   http://www.e-allora.net        |
  |	     					     |
  |	     					     |
**************************************

Adriano Allora


Dottorato di Ricerca in Linguistica, linguistica applicata, ingegneria =20=

linguistica
Universit=88 degli Studi di Torino
http://www.dottoratolinguistica.unito.it
http://www.corpora.unito.it


http://www.palazzo-switches.com






|^|_|^|_|^|				|^|_|^|_|^|=09
  |	     |				 |	     |
  |	     |				 |	     |
  |	     |*\_/*\_/*\_/*\_/*\_/* |	     |
  |	     					     |
  |	     					     |
  |	     	      				     |
  |	   http://www.e-allora.net        |
  |	     					     |
  |	     					     |
**************************************



More information about the Python mailing list