2019独角兽企业重金招聘Python工程师标准>>>

发送端:
#!/usr/bin/python2.7
#coding=utf-8import Tkinter
import tkFileDialog
from socket import *
import struct
import osdef client(filename):Addr=('127.0.0.1',8000)BUFSIZE=1024Sendsocket=socket(AF_INET,SOCK_STREAM)Sendsocket.connect(Addr)FileHead=struct.pack('128s11i',filename,0,0,0,0,0,0,0,0,os.stat(filename).st_size,0,0)Sendsocket.send(FileHead)fp=open(filename,'rb')while 1:FileData=fp.read(BUFSIZE)if not FileData: breakSendsocket.send(FileData)fp.close()Sendsocket.close()def FileOpen():r = tkFileDialog.askopenfilename(title = 'Python Tkinter',      filetypes=[('All files', '*')] )filename=r.split('/')client(filename[-1])root = Tkinter.Tk()
button1 = Tkinter.Button(root, text = 'File Open', height=8,width=14,bg='blue',            command = FileOpen)
button1.pack()root.mainloop()服务器端
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
from socket import *
import os
import structAddr=('127.0.0.1',8000)
BUFSIZE=1024
FileInfoSize=struct.calcsize('128s32sI8s')SocketRecv=socket(AF_INET,SOCK_STREAM)
SocketRecv.bind(Addr)
SocketRecv.listen(5)print "waitting ........"
conn,addr=SocketRecv.accept()
print "send from" ,addrFileHead=conn.recv(FileInfoSize)
filename,temp1,filesize,temp2=struct.unpack('128s32sI8s',FileHead)
print filename,len(filename),type(filename)
print filesizefilename='new_'+filename.strip('\00')
fp = open(filename,'wb')
restsize=filesizewhile 1:if restsize<BUFSIZE:filedata=conn.recv(restsize)else:filedata=conn.recv(BUFSIZE)if not filedata:breakfp.write(filedata)restsize=restsize-len(filedata)if restsize==0:break
fp.close()conn.close()
SocketRecv.close()print 'Finished !!!'

转载于:https://my.oschina.net/annieduoduo/blog/71382

python socket文件传输相关推荐

  1. Java基于Socket文件传输示例

    这个实例中的socket文件传输采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出流进行包装,加快传输的速度. 先来看服务器端的程序. 1.服务器端 import java.io.Buffere ...

  2. Androidpcm格式音频编解码及播放,socket文件传输通讯,soundTouch变声框架 合成的一款仿微信语音按住说话的demo

    pcm格式音频编解码及播放,socket文件传输通讯,soundTouch变声框架 合成的一款仿微信语音按住播放的demo 效果:   -------------- 代码: MainActivity ...

  3. socket文件传输服务器,Socket文件传输(含服务端以及客户端源码)

    Socket文件传输 [实例简介] 传输任意格式文件 [实例截图] [核心代码] using System; using System.Collections.Generic; using Syste ...

  4. 【Linux系统与网络编程】15:Socket文件传输1

    Socket文件传输1 在socket多线程实现多客户端连接服务器进行聊天的基础上,添加文件传输功能. fix1 在server.c中添加file_info结构体,用于单独接受某次客户端发送的file ...

  5. 【Linux系统与网络编程】16:Socket文件传输2

    Socket文件传输2 OVERVIEW Socket文件传输2 在socket文件传输1中使用了一种在buff缓冲数组后添加\0的方式实现文件的传输. 实现方法2:根据TCP在数据传输过程中进行粘包 ...

  6. 基于python的文件传输程序_GitHub - orange0cat/python-ft: 基于socket的文件传输程序,能传输整个文件夹...

    FileTransporter 这是一个基于socket(TCP)的文件(夹)传输程序 预览效果 0.环境搭建 在virtualenv环境下,cd 进入 requirements.txt所在目录,执行 ...

  7. python实现文件传输

    发送者: send_file.py def send_file(filename: str = "mytext.txt", testing: bool = False) -> ...

  8. 基于python的文件传输程序_7个步骤,教你快速学会用python实现ftp文件传输功能(收藏了)...

    文章主要为大家详细介绍了python实现ftp文件传输功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下!!! 本文实例为大家分享了python实现ftp文件传输的具体 ...

  9. c语言socket发送excel,socket文件传输功能的实现

    服务端: #include #include #pragma comment (lib, "ws2_32.lib")  //加载 ws2_32.dll #define BUF_SI ...

最新文章

  1. 面试官:支撑日活百万用户的高并发系统,应该如何设计其数据库架构?
  2. Java爬虫--json数据处理:JSONObject的使用
  3. go开源项目influxdb-relay源码分析(一)
  4. nginx nodejs环境配置_基于docker的nodejs、php开发环境,包含多种组合安装
  5. python 数据分析
  6. [笔记]Go语言写文件几种方式性能对比
  7. ffmpeg sws_scale函数详解
  8. 苹果手机免密支付怎么取消_超市“扫码枪”有啥神奇功能?直接扫走你的资金,不用输入密码|移动支付|手机|免密...
  9. php和xml区别,php和XML
  10. 5.4 self-attention以及mask操作的实现
  11. 微信小程序自定义导航栏
  12. 微带滤波器摘要_微带低通滤波器的设计
  13. Apollo课程学习2——高精地图HD Map
  14. lisp 焊缝标注_钢结构深化设计实施方案.doc
  15. 线上编程学院codecademy
  16. matlab dff求导,matlab的多元函数微积分学.ppt
  17. 非QQ会员如何克隆好友
  18. codewars练习(javascript)-2021/3/21
  19. 服务器摆放需要预留U位么_客厅沙发摆放正确,让你一年都风调雨顺,财源滚滚来...
  20. Android 面试黑洞——当我按下 Home 键再切回来,2021必看-Android高级面试题总结

热门文章

  1. React组件生命周期-正确执行运行阶段的函数
  2. respondsToSelector的相关使用
  3. Android Killer
  4. DELPHI TreeView 文件目录树和 设置节点图标 完整
  5. Python中几个操作列表的内置函数filter(),map(),reduce(),lambda
  6. This is probably not a problem with npm. There is likely additional logging
  7. 为什么要使用数据连接池
  8. python的异步网络编程_python异步网络编程怎么使socket关闭之后立即执行一段代码?...
  9. 哪两种遍历方式可以唯一确定一棵二叉树,结合力扣105题
  10. http://java.sun.com/jsp/jstl/core cannot be resolved(含有jstl1.2jar包网盘)