🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216888

Re: kolejne pytanie z pythona

#216888
From: fir
Date: Wed, 15 Apr 2020 01:36
62 lines
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-mail
References: <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