Socket的介绍就不多说了,网上都能搜到,直接说脚本,要实现FTP的功能要有服务器端和客户端,

服务器端:

import SocketServerimport commandsimport timeclass MySockServer(SocketServer.BaseRequestHandler):    def handle(self):        print "Got a new conn from", self.client_address        while True:            cmd = self.request.recv(1024)            if not cmd:break            cmd = cmd.split()            if cmd[0] =="get":                print "Start transfer......."                with open(cmd[1],'rb') as f:                    self.request.send(f.read())                                time.sleep(0.2)                self.request.send("OOK")   #这算是个标示吧。客户端收到这个说明已经传完了                continue            cmd_result = commands.getstatusoutput(cmd[0])  #执行客户端发地来的shell命令            self.request.send(cmd_result[1])            if __name__ == '__main__':    host=''    port = 52167     s = SocketServer.ThreadingTCPServer((host,port), MySockServer)    s.serve_forever()    客户端:import socketimport time host = 'x.x.x.x' #服务器的地址port = 52167addr = host,ports = socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(addr)while True:    Input = raw_input('Please your input:').strip()    if len(Input)==0:continue    s.send(Input)    Input = Input.split()    if Input[0]== 'get':        print "get file ....."        with open(Input[1],'wb') as f:            f.write(s.recv(1024))        time.sleep(0.2)        if s.recv(1024) == "OOK":            print "Down finsh ......"             continue      data = s.recv(1024)    print data

  

一直在自学python但一直都是断断续续的不能坚持。学了好长时间才会写个简单的Socket,这智商让人捉急啊。