Do soouboru se neukladaji znaky, ale bajty. Text se da prevest
(zakodovat) na bajty, bajty se daji dekodovat zpatky, ale problem je ze
jeden znak muze byt zakodovany ruznym poctem bajtu:
>>> len('a'.encode('utf-8'))
1
>>> len('ů'.encode('utf-8'))
2
>>> len('←'.encode('utf-8'))
3
>>> len('😸'.encode('utf-8'))
4
Python nemuze operacnimu systemu rict "skoc o 400 znaku dal", jen napr.
"skoc o 400 bajtu dal". Ale na to, aby spocital kolik bajtu tyhle znaky
zaberou by je musel vechny nacist a zpracovat.
Mimochodem, pro Y=0 (whence=SEEK_SET) nemuze byt X jakekoli cislo, ale
jen cislo ktere jsi predtim dostal pomoci metody tell(). S jinym cislem
bys mohl "pristat" v pulce znaku, a kdo vi co by se delo pak...
Viz dokumentace:
https://docs.python.org/3/library/io.html#io.TextIOBase.seek
Jestli chces skakat dopredu, muzes pouzit read() a dany pocet znaku
nacist a zahodit. (Pozor, cti dokumentaci: read() muze vatit kratsi
retezec nez o jaky si reknes.)
Jestli chces skakat na pozici kde jsi uz byl, zapamatuj si ji pomoci tell().
A nebo otevri soubor v binarnim modu a dekodovani na text res sam.