Re: [python] Detekce kodovani zadaneho vstupu (bylo RE: soubor v jiné zankové sadě)
geon
geon na post.cz
Pátek Září 30 10:03:59 CEST 2005
Petr Prikryl napsal(a):
>Navrhuji další úpravu "mazacího" skriptu...
>
>
>
díky
>Kdysi mě velmi hnětlo, že jsem musel moduly používající
>raw_input() přizpůsobovat tomu, jestli je spouštím
>prostřednictvím nějakého windowsovského okna, nebo
>prostřednictvím DOSového okna. Nelíbilo se mi, že
>někde musím při konverzi do unicode psát natvrdo
>'cp1250' (z DOSového okna se používá jiné kódování,
>než ve windowsovém okně -- např. v konzole IDLE).
>Jenže zrovna v tomto případě to jde udělat šikovněji.
>Tahle informace je ukryta pod sys.stdin.encoding.
>
>
> cesta = unicode(raw_input(), sys.stdin.encoding)
>
>
když to udělám takto, tak mi to nefunguje (v DOSU). Píše to :
C:\Admin\update>deltree_xp.py c:\ěščřžýáí
Traceback (most recent call last):
File "C:\Admin\update\deltree_xp.py", line 36, in ?
if cesta and smazat(cesta):
File "C:\Admin\update\deltree_xp.py", line 6, in smazat
print os.listdir(cesta)
WindowsError: [Errno 3] SystÚm nem¨×e nalÚzt uvedenou cestu:
u'c:\\\xfd\xdc\u015
4\xb0\xd7\u0159\xdf\xdd/*.*'
Když tam ale natvrdo dám místo sys.stdin.encoding --- "cp1250", tak to
jede bez problémů...nevím proč....
Pavel
Další informace o konferenci Python