Article View: pl.comp.programming
Article #216888Re: kolejne pytanie z pythona
From: fir
Date: Wed, 15 Apr 2020 01:36
Date: Wed, 15 Apr 2020 01:36
62 lines
4087 bytes
4087 bytes
W dniu środa, 15 kwietnia 2020 02:58:08 UTC+2 użytkownik fir napisał:
> mam dziwny problem (moze nie taki dziwny w sumie ale nie jestem przyzwczajony do takich bledow)
>
> generalnie moj bot (w pythonie 2.7)
> czyta linijke z czata przez
>
> ircmsg = ircsock.recv(2048)
>
> i nic na tym nie robie nie wywoluje ani zadnego decode ani encode
>
> i np polskie litery w tym dzialaja (są) choc nie wiem jaki to format, moge wyciac z tego np kawalek i wyslac do translatora google, odeslany tekst tez zawiera egzotyczne znaki
>
> ten wygenerowany tekst odsylam przez
>
> ircsock.send(s.encode('UTF-8'))
>
> bez tego encode to to raczej nie dziala
> ale z tym encode dziala
>
> problem pojawia sie gdy te linijki w srodku
> wstawiam do slownika ktory zapisuje do pliku json na dysk
>
> czytam i zapisuje ten json ze tak powiem normalnie bez zadnych udziwnien
>
> bo jesli chce dodac "KóKó" do tego slowniek ai zapisac toz apisze sie to normalnie, natomiast gdy chce to odczytac i wyslac na kanal to robie
>
> s = bot_memory[key]
> say(s.decode('UTF-8'))
>
> bez tego decode nie dziala (leci blad)
> z tym decode co prawda tez leci blad tylko inny
>
> (przy czym moze dodam ze slownik czytam tylko raz na strcie programu z dsku, natomiast zapisuje przy kazdym wstawieniu tekstu)
>
> jesli jest to decode to moge zapisywac wpisy na dysk i moge je czytac ze slowniek i wyswietlac na kanal - ale tylko poki nie zamkne bota i nie wczytam tego z dysku, wtedy przy probie odczytania wpisu i wyslania go na kanal z tego leci blad (ascii codect cant encode...)
>
> z kolei jak to decode wywale jest
> odwrotnie, po uruchomieniu boyta moge
> wysylac zapisane za poprzednim razem wpisy na kanal ale nie moge zapisac i odczytac nowego, tj dokladniej w pliku tez sie zapisuje ale odczytanie go ze slownika i proba poslania na kanal dale blad (ascii codec cant decode...)
>
> o co tu chodzi? jak to naprawic?
ok po napisaniu tego wyzej jakas luzna dedukcja sklonila mnie do wniosku ze skoro w pliku jest dobrze (a chyab mozna tak zalozyc) to wersja
s = bot_memory[key]
say(s)
jest poprawniejsza (chwilowo te leko zagmatwane dedukcje mi sie lekko zgubily)
i ze widac cos ze wstawianiem do slwnika moze jest nie tak
sprobowalem
bot_memory[key]=value.decode('UTF-8')
save_bot_memory()
przy wstawianiu i chyba dziala ok, nie zebym super do konca rozumial o co tu chodzi
trzeba dodac ze te nazwy encode i decode sa dosyc mylace
wyglada na to ze tw stringi ktore lataja w srodku programu to utf8 , a te wstawiane do slownika nalezy przerabiac na bajty? inna lekka dziwnosc to tak jakby z tego socketa do czytania juz wychodzilo utf-8 przy wysylaniu przerabiam na bajty a przy czytaniu nie musze z bajtow na utf8?
dibrze ze chociaz chyba dziala
Technical Details
Message-ID:
<c027ab1b-6d20-41af-b287-4124c8ece82e@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<d5088c9e-aa2f-46b5-bca7-7c340b1618e6@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:aed:3968:: with SMTP id l95mr19383308qte.268.1586914595965; Tue, 14 Apr 2020 18:36:35 -0700 (PDT) X-Received: by 2002:ac8:5209:: with SMTP id r9mr1476366qtn.57.1586914595742; Tue, 14 Apr 2020 18:36:35 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Tue, 14 Apr 2020 18:36:35 -0700 (PDT) In-Reply-To: <d5088c9e-aa2f-46b5-bca7-7c340b1618e6@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.228; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN NNTP-Posting-Host: 5.172.255.228 References: <d5088c9e-aa2f-46b5-bca7-7c340b1618e6@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <c027ab1b-6d20-41af-b287-4124c8ece82e@googlegroups.com> Subject: Re: kolejne pytanie z pythona From: fir <profesor.fir@gmail.com> Injection-Date: Wed, 15 Apr 2020 01:36:35 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit