I don't know if this has been answered before(i looked online but couldn't find one), but how can i send a file (.exe if possible) over a network to another computer that is connected to the network? I tried sockets but i could only send strings and i've tried to learn ftplib but i don't understand it at all or if ftp is even what i am looking for, so i am at a complete standstill. Any input is appreciated (even more so if someone can explain FTP, is it like socket? All the examples i've seen don't have a server program where the client can connect to.)
ZeroMQ helps to replace sockets. 
You can send an entire file in one command.
A ZMQ 'party' can be written in any major language and for a given ZMQ-powered software, it doesnt matter what the other end it written in.
From their site:

It gives you sockets that carry whole messages across various
  transports like in-process, inter-process, TCP, and multicast. You can
  connect sockets N-to-N with patterns like fanout, pub-sub, task
  distribution, and request-reply.
How to transfer a file between two connected computers in python?