034文件上传
2018-06-23 13:30:11来源:未知 阅读 ()
因为这个是简单的,所以很容易
思想就是建立连接后,客户端发送文件名字和大小到服务端,服务端接受后,客户端开始发送文件,直到发完。具体的还是要看下面的代码,我自己实现了一遍
1 import socket 2 import os 3 4 def get_server_socket(): 5 sk = socket.socket() 6 address = ('127.0.0.1',8888) 7 sk.bind(address) 8 sk.listen(3) 9 return sk 10 11 def wait_connect(sk): 12 print('waitconnecting...') 13 conn, addr = sk.accept() 14 return conn 15 16 if __name__ == '__main__': 17 sk = get_server_socket() 18 conn = wait_connect(sk) 19 BASIC_DIR = os.path.dirname(os.path.abspath(__file__)) 20 while True: 21 data = str(conn.recv(1024),'utf8') 22 cmd,filename,file_size = data.split('|') 23 path = os.path.join(BASIC_DIR,'yuan',filename) 24 file_size = int(file_size) 25 f = open(path,'wb') 26 has_receive = 0 27 while has_receive != file_size: 28 data = conn.recv(1024) 29 f.write(data) 30 has_receive += len(data) 31 f.close()
1 import socket 2 import os 3 4 def get_client_socket(): 5 sk = socket.socket() 6 address = ('127.0.0.1',8888) 7 sk.connect(address) 8 return sk 9 10 if __name__ == '__main__': 11 BASIC_DIR = os.path.dirname(os.path.abspath(__file__)) 12 sk = get_client_socket() 13 while True: 14 inp = input('>>>').strip()#post|11.png 15 cmd,path = inp.split('|') 16 path = os.path.join(BASIC_DIR,path)#使用系统的路径拼接 17 filename = os.path.basename(path)#拿到文件名字 18 file_size = os.stat(filename).st_size#拿到文件的大小 19 file_info = 'post|%s|%s'%(filename,file_size) 20 sk.sendall(bytes(file_info,'utf8')) 21 f = open(path,'rb') 22 has_sent = 0 23 while has_sent != file_size: 24 data = f.read(1024) 25 sk.sendall(data) 26 has_sent += len(data) 27 f.close() 28 print('上传完成')
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PythonDay08 2019-08-13
- python 之 前端开发(form标签、单选框、多选框、file上传文 2019-08-13
- 把Python项目打包成exe文件 2019-08-13
- pycharm 新建py文件写时有作者和时间 2019-08-13
- 手把手教你破解文件密码、wifi密码、网页密码 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash