[Python] trovare l' encoding di un file

Daniele Varrazzo piro a develer.com
Mer 10 Giu 2009 11:50:10 CEST


On Wed, 10 Jun 2009 11:28:53 +0200, Alessandro Dentella <sandro a e-den.it>
wrote:
> Ciao,
> 
>   come faccio a trovare l'encoding di un file che sto eseguendo?  Il file
>   comincia con::
> 
>      # coding: utf-8'
> 
>   dentro quel file è definita una stringa che devo passare come
>   description
>   a optparse.OptionParser(opt, description=...). Posso in questo caso
>   usare::
> 
>     unicode(..., encoding='utf-8'), ma vorrei fare una procedure
lievemente
> 
>   più generica prendendo l'encoding dal file stesso. E` possibile?

Spero di aver capito bene la faccenda, non se sono sicuro.

Io credo che l'encoding del file serva solo a definire in che encoding sono
codificate le costanti unicode nei sorgenti. Perché usi esplicitamente il
costruttore unicode? Secondo me basta:

    desc=u"àè€"
    optparse.OptionParser(opt, description=desc)

(se poi però qualcuno ha la console impostata a latin1, non so se
"script.py --help" esploda o no: immagino dipenda da optparse, ma
probabilmente se la cava).

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


Maggiori informazioni sulla lista Python