Souboru f1 už nastavuješ kódování, takže do něj můžeš psát přímo řetězce, bez encode(): f1.write(obsah)
Případně pokud chceš do souboru zapisovat bajty (ne Unicode řetězce), otevři ho pro binární zápis: f1=open(soubor1, 'wb') f1.write(obsah.encode("cp1250")) 2014-03-03 14:53 GMT+01:00 Jiří Nekolný <jneko...@centrum.cz>: > Potřeboval bych archivní soubory z DOSu převést do kódování ve Win případně i > v Linuxu (ISO8859), se kterým koketuji. > > V Pythonu 3 jsem vytvořil prográmek > > 1. soubor = 'c:/apy/zn852.txt' > 2. soubor1 ='c:/apy/zn1252.txt' > 3. f= open(soubor, 'r',encoding="cp852") > 4. obsah= f.read() > 5. print(obsah) > 6. f1=open(soubor1, 'w',encoding="cp1250") > 7. f1.write(obsah.encode("cp1250")) > 8. f1.close() > > Až do ř. 7 proběhne vše dobře, ale soubor se mi v požadovaném kódování nedaří > uložit. Dva dni googlím a pořád nevidím, kde je chyba? > Předpokládám, že proměnná obsah ve v unicode utf-8. A nebo ne? > > Tréninkový soubor zn852.txt jsou vygenerované znaky char(I), pro I=0 to 255 > v latin2 (cp852). > > Děkuji. > _______________________________________________ > Python mailing list > python@py.cz > http://www.py.cz/mailman/listinfo/python > > Visit: http://www.py.cz _______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz