Groups | Search | Server Info | Login | Register
Groups > cz.comp.lang.python > #3439
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!fx02.ams4.POSTED!not-for-mail |
|---|---|
| Received-SPF | none (Address does not pass the Sender Policy Framework) SPF=HELO; sender=mail-wm1-f46.google.com; remoteip=::ffff:209.85.128.46; remotehost=; helo=mail-wm1-f46.google.com; receiver=hugo.zagamma.cz; |
| Received-SPF | pass (Address passes the Sender Policy Framework) SPF=MAILFROM; sender=encukou@gmail.com; remoteip=::ffff:209.85.128.46; remotehost=; helo=mail-wm1-f46.google.com; receiver=hugo.zagamma.cz; |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:cc:in-reply-to:content-transfer-encoding; bh=nsO4Z+XxKAN561i/B2I511bj91zm1Rt0UU0YpvXonGI=; b=Atd/KKelB88W6nM88eBG3/H4uiDCc5E7qgQqhjWvTbscquzo7CbmfId+ydAwjNbBMI 5ryK/sph2kOKc1kkRcIasglXapfeoL8jBeV8EIaucOsyW+dJIJ1cN/3sw5FHjlzfqsZ1 WLd1XG133isD2w+5Ftoo4lIIgV2YdI+00DOaS4mVpUFdJLASEqsOw/Qe0Ye29EUcVneJ d0T0hf5tGbh7Uf1uFJ6iLog8VlY3Dyd5iNgfWr5EnEkqJKISRnhbATlhYuvgp8o7ExUQ T/vyf/41Mf/gjrJchz2LQ6tYAKC7r7VhDOwUiQanbnCZpLyHwrL8dqQQLxg80RS/FT4W JPuw== |
| X-Google-DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:cc:in-reply-to :content-transfer-encoding; bh=nsO4Z+XxKAN561i/B2I511bj91zm1Rt0UU0YpvXonGI=; b=G3i++Ogl/tCwrIVHyIQIDygcLEureneMIELKDsyse/CGpjjMPhD5skS0IPlJzCo+ET QVUgtX0Sa8FF5CYy6pfDw3NExMbRcT2vCTTeF49pRPtktJ7GntTTePVNua58DBpoKX7V W1REc/ErvtuTcAVdqvk9qAlrGZVY2phj+3HaZs4gu9ZQuckZFgak8pFguFa6rixkrcUG J7pJV0qrLjLZlT8PLTg9GGvGl8WmryWwaRIQtjqIxYhxAg2HjLVC1eDN4qhAHnerKA8C hEQ2QeyL1KP7RN7mCYFi5HMadmVxiTTdoCCePcFP5BHmT0+9M41+WL6RE+0nFBhqEHdC AkIA== |
| X-Gm-Message-State | AOAM533l6zyKOyYfvR++yBW0ssghCfKOM3O9C94ruR7Ty4DYBQjzXCKV Ca3S0QJ4jGC1Qa/LqrxTGPM= |
| X-Google-Smtp-Source | ABdhPJyz9FZ0xL6FOf7mm4VHDyIjRtCim1v0qVYgBasmMx6oEK56GKcfL5TcLwFpIJM0umIntulHCQ== |
| X-Received | by 2002:a05:600c:1c20:: with SMTP id j32mr13893845wms.1.1638951770077; Wed, 08 Dec 2021 00:22:50 -0800 (PST) |
| Old-Return-Path | <encukou@gmail.com> |
| MIME-Version | 1.0 |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 |
| Content-Language | en-US |
| From | Petr Viktorin <encukou@gmail.com> |
| In-Reply-To | <2d9688db-6339-6b54-5e6f-d65567b834d0@gmail.com> |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Subject | Re: [python] Funkcia seek() |
| X-BeenThere | python@py.cz |
| X-Mailman-Version | 2.1.34 |
| Precedence | list |
| List-Id | Konference PyCZ <python.py.cz> |
| List-Unsubscribe | <http://www.py.cz/mailman/options/python>, <mailto:python-request@py.cz?subject=unsubscribe> |
| List-Archive | <http://www.py.cz/pipermail/python/> |
| List-Post | <mailto:python@py.cz> |
| List-Help | <mailto:python-request@py.cz?subject=help> |
| List-Subscribe | <http://www.py.cz/mailman/listinfo/python>, <mailto:python-request@py.cz?subject=subscribe> |
| Newsgroups | cz.comp.lang.python |
| Message-ID | <mailman.17.1638951773.25463.python@py.cz> (permalink) |
| X-Mailman-Original-Message-ID | <6c55f080-5ee2-526c-00e1-f424277c1f11@gmail.com> |
| X-Mailman-Original-References | <2d9688db-6339-6b54-5e6f-d65567b834d0@gmail.com> |
| References | <2d9688db-6339-6b54-5e6f-d65567b834d0@gmail.com> <6c55f080-5ee2-526c-00e1-f424277c1f11@gmail.com> |
| Lines | 44 |
| X-Complaints-To | abuse@usenet-news.net |
| NNTP-Posting-Date | Wed, 08 Dec 2021 08:22:54 UTC |
| Organization | usenet-news.net |
| Date | Wed, 8 Dec 2021 09:22:48 +0100 |
| X-Received-Bytes | 5255 |
| Xref | csiph.com cz.comp.lang.python:3439 |
Show key headers only | View raw
On 07. 12. 21 21:33, Dusan Gazo wrote:
> Zdravim.
>
> Som začiatočník a skúšam možnosti jazyka.
>
> Prečo pri otvorenom súbore v textovom móde, funkcia seek(x, y) je
> funkčná len ak je y = 0 a x >= 0? Pri Y = 1 alebo 2 môže byt x len 0.
>
> Je na to nejaký dôvod? Ak otvorim súbor binárne tak funkcia pracuje
> tak, ako si predstavujem, t.j. Y = 0 -> x môže byť >= 0 ,
>
> Y = 1 -> x môže byť < >= 0 , Y=2 x môže byť <=0.
>
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.
Back to cz.comp.lang.python | Previous | Next | Find similar
Re: [python] Funkcia seek() Petr Viktorin <encukou@gmail.com> - 2021-12-08 09:22 +0100
csiph-web