Re: [python] Kódování souborů
Martin Herceg
martin na ufon.sk
Neděle Prosinec 18 21:21:29 CET 2005
skusal si aj program ENCA?
pre linux to je urcite a pre windows mozno tiez, treba pozriet
enca vie naviac aj konverzie atd., je mimoriadne rychla a aj spolahliva
On Dec 18, 2005, at 8:27 PM, geon wrote:
> Ahoj,
>
> Tak začnu tím co jsem zplodil a pak se zeptám, jestli něco
> takového existuje v lepší formě.
>
> Chci "odhadnout" v jakém kodovani je uložen text v souborech. S
> pomocí http://cthedot.de/encutils/ jsem vyvtořil následující
> funkci, která odhaduje všechna možná kodování souborů v
> aktuálním adresáři:
>
> # -*- coding: cp1250 -*-
>
> def tryEncodings(text):
> encodings = (
> 'ascii',
> 'iso-8859-2',
> 'cp1250',
> 'utf-8'
> )
> encoding = []
> for e in encodings:
> try:
> text.decode(e) # fungovalo by i unicode(text,e)
> except (UnicodeEncodeError, UnicodeDecodeError):
> pass
> else:
> encoding.append(e)
> return encoding
>
> import os, sys
> seznam =[jmeno for jmeno in os.listdir('.') if os.path.isfile(jmeno)]
>
> for jmeno in seznam:
> text=file(jmeno).read()
> print jmeno, tryEncodings(text)
>
> Díky ViNilovi již znám i unixový příkaz/program file, který
> umí to samé, ale asi mnohem lépe. Zná někdo nějaký takový i
> pro windows - nebo ještě lépe modul, který by to zvládal?
>
> Díky
>
> --
> geon
> Vyjímka je pravidlo. Rekurzivní.
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
==============================
Martin Herceg
martin na ufon.sk
Další informace o konferenci Python