server.py#!/usr/bin/Env python#-*-coding:utf-8-*-Import socketserverimport osclassMysocketserver (socketserver.baserequesthandler): def handle (self): Filename_dir='/home/feng/feng'Conn=self.request Data= Conn.recv (1024x768) Filename,filename_size= Data.strip (). Split ('|') Print Filename,filename_size recv_size=0File_dir=Os.path.join (filename_dir,filename) F= Open (File_dir,'w+') whileTrue:if int(filename_size)! =Recv_size:data= Conn.recv (1024x768) Recv_size+=len (data) Printint(filename_size), recv_size f.write (data)Else: Break # Else: # Data= Conn.recv (int(filename_size)-recv_size) # printint(filename_size)-Recv_size # BreakPrint'Upload successed ...'if__name__ = ='__main__': Ip_port= ('127.0.0.1',55555) Server=socketserver.threadingtcpserver (Ip_port,mysocketserver) server.serve_forever ()=======================================client.py#!/usr/bin/Env python#-*-coding:utf-8-*-Import Socketimport osclient=Socket.socket (Socket.af_inet,socket. SOCK_STREAM) Ip_port= ('127.0.0.1',55555) Client.connect (ip_port) whileTrue:filepath= Raw_input ('Please enter method and upload path:/root/1.txt:') Filename_size=Os.stat (filepath). st_size filename=os.path.basename (filepath) Print'#####################'Print filepath,filename_size Print'#####################'client.send (filename+'|'+str (filename_size)) Send_size=0F= Open (filepath,'R') Flag=True whileFlag:ifFilename_size! =Send_size:data= F.read (1024x768) Send_size+=len (data) client.send (data)Else: Flag=False f.close () client.close ()
Python upload file