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?
Ei kai tuolla tiedostomuodolla nyt väliä ole. Tavuinahan tuo tekstitiedostokin maailmalle lähtee.
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.
Pysyykö tällöin tiedosto kunnossa,vai voiko siihen syntyä vahinkoa kun se lähetetään noin?
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.)
Aihe on jo aika vanha, joten et voi enää vastata siihen.