Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python tiedostojen lähetys

Macro [17.06.2010 15:02:02]

#

Pythonissa voi käyttää socketteja, kuten monissa muissakin kielissä. Joistain kielistä löytyy suoraan funktiot tiedostojen siirtämiseen, muttei nähtävästi Pythonista. Socketeilla onnistuu helposti datan lähetys ja vastaanotto send() ja recv() -funktioilla, jos data on tekstimuodossa. Tekstitiedoston voi lukea, lähettää ja luoda uudelleen vastaanottajapuolella, mutta miten lähetetään esimerkiksi mp3-tiedosto? Löytyykö Pythonista funktio, tai muita palikoita socketeilla tiedoston lähettämiseen ja vastaanottamiseen?

jalski [17.06.2010 15:41:09]

#

Ei kai tuolla tiedostomuodolla nyt väliä ole. Tavuinahan tuo tekstitiedostokin maailmalle lähtee.

Metabolix [18.06.2010 09:08:59]

#

Kunhan muistat avata tiedoston binaaritilassa ("rb" ja "wb", eroa tekstitilaan on vain Windowsissa) ja käyttää lukemiseen funktioita read ja write rivifunktioiden (readlines, writelines) sijaan. On myös viisasta ilmoittaa vastaanottajalle ensin tiedoston koko ja lukea yhteensä vain sen verran.

Macro [18.06.2010 09:42:52]

#

Pysyykö tällöin tiedosto kunnossa,vai voiko siihen syntyä vahinkoa kun se lähetetään noin?

Metabolix [18.06.2010 10:10:04]

#

Yleisesti ottaen verkko on aika luotettava, mutta ainahan voit varmuuden vuoksi laskea datasta vaikka MD5- tai CRC32-tarkisteen. (Itse pidän kuitenkin todennäköisempänä virhelähteenä bugeja omassa koodissasi.)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta