位置: IT常识 - 正文

python怎么传送文件(python文件间传递参数)

编辑:rootadmin

推荐整理分享python怎么传送文件(python文件间传递参数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python传输图片最好的办法,python文件怎么发给别人运行,python数据怎么传递给html,python 传送文件,python 传输文件,python怎么传文件,python 传送文件,python怎么传文件,内容如对您有帮助,希望把文章链接给更多的朋友!

在python中传送文件的方法:1、将报头转换成字符串【json.dumps】, 再将字符串的长度打包;2、发送报头长度和报头内容,然后放真实内容;3、将报头长度解压,得到头部信息的大小,再接收头部信息,反序列化即可

python怎么传送文件(python文件间传递参数)

思路:

# 先将报头转换成字符串(json.dumps), 再将字符串的长度打包 # 发送报头长度,发送报头内容,最后放真实内容 # 报头内容包括文件名,文件信息,报头 # 接收时:先接收4个字节的报头长度, # 将报头长度解压,得到头部信息的大小,在接收头部信息, 反序列化(json.loads) # 最后接收真实文件

服务端

#!/usr/bin/envpython#-*-coding:utf-8-*-#@File:文件传输-服务端.py#@Software:PyCharmfromsocketimport*importstructimportjsonimportostcp_server=socket(AF_INET,SOCK_STREAM)ip_port=(('127.0.0.1',8080))buffsize=1024#端口的重复利用tcp_server.setsockopt(SOL_SOCKET,SO_REUSEPORT,1)tcp_server.bind(ip_port)tcp_server.listen(5)print('还没有人链接')whileTrue:'''链接循环'''conn,addr=tcp_server.accept()print('链接人的信息:',addr)whileTrue:ifnotconn:print('客户端链接中断')break'''通信循环'''filemesg=input('请输入要传送的文件名加后缀>>>').strip()filesize_bytes=os.path.getsize(filemesg)#得到文件的大小,字节filename='new'+filemesgdirc={'filename':filename,'filesize_bytes':filesize_bytes,}head_info=json.dumps(dirc)#将字典转换成字符串head_info_len=struct.pack('i',len(head_info))#将字符串的长度打包#先将报头转换成字符串(json.dumps),再将字符串的长度打包#发送报头长度,发送报头内容,最后放真是内容#报头内容包括文件名,文件信息,报头#接收时:先接收4个字节的报头长度,#将报头长度解压,得到头部信息的大小,在接收头部信息,反序列化(json.loads)#最后接收真实文件conn.send(head_info_len)#发送head_info的长度conn.send(head_info.encode('utf-8'))#发送真是信息withopen(filemesg,'rb')asf:data=f.read()conn.sendall(data)print('发送成功')

客户端

#!/usr/bin/envpython#-*-coding:utf-8-*-#@File:文件传输_客户端.py#@Software:PyCharmfromsocketimport*importstructimportjsonimportosimportsysimporttimefrom进度条importprocess_bartcp_client=socket(AF_INET,SOCK_STREAM)ip_port=(('127.0.0.1',8080))buffsize=1024tcp_client.connect_ex(ip_port)print('等待链接服务端')whileTrue:head_struct=tcp_client.recv(4)#接收报头的长度,ifhead_struct:print('已连接服务端,等待接收数据')head_len=struct.unpack('i',head_struct)[0]#解析出报头的字符串大小data=tcp_client.recv(head_len)#接收长度为head_len的报头内容的信息(包含文件大小,文件名的内容)head_dir=json.loads(data.decode('utf-8'))filesize_b=head_dir['filesize_bytes']filename=head_dir['filename']#接受真的文件内容recv_len=0recv_mesg=b''old=time.time()f=open(filename,'wb')whilerecv_len<filesize_b:percent=recv_len/filesize_bprocess_bar(percent)iffilesize_b-recv_len>buffsize:recv_mesg=tcp_client.recv(buffsize)f.write(recv_mesg)recv_len+=len(recv_mesg)else:recv_mesg=tcp_client.recv(filesize_b-recv_len)recv_len+=len(recv_mesg)f.write(recv_mesg)print(recv_len,filesize_b)now=time.time()stamp=int(now-old)print('总共用时%ds'%stamp)f.close()

进度条

#!/usr/bin/envpython#-*-coding:utf-8-*-#@File:进度条.py#@Software:PyCharmimportsysimporttimedefprocess_bar(precent,width=50):use_num=int(precent*width)space_num=int(width-use_num)precent=precent*100#第一个和最后一个一样梯形显示,中间两个正确,但是在python2中报错#print('[%s%s]%d%%'%(use_num*'#',space_num*'',precent))#print('[%s%s]%d%%'%(use_num*'#',space_num*'',precent),end='\r')print('[%s%s]%d%%'%(use_num*'#',space_num*'',precent),file=sys.stdout,flush=True,end='\r')#print('[%s%s]%d%%'%(use_num*'#',space_num*'',precent),file=sys.stdout,flush=True)#foriinrange(21):#precent=i/20#process_bar(precent)#time.sleep(0.2)

本文链接地址:https://www.jiuchutong.com/zhishi/310693.html 转载请保留说明!

上一篇:织梦cms如何给TAG加链接,去掉TAG字数限制(织梦怎么新建页面)

下一篇:九步就可入门Python装饰器(九步功法)

  • shellexecutehooks如何创建正确的(shellexecutehooks)

    shellexecutehooks如何创建正确的(shellexecutehooks)

  • 红米k305g支持多少w快充(红米k305g能用吗)

    红米k305g支持多少w快充(红米k305g能用吗)

  • 快手头像挂件怎么取消(快手头像挂件怎么设置)

    快手头像挂件怎么取消(快手头像挂件怎么设置)

  • ios15小组件怎么换照片(ios15小组件怎么调整大小)

    ios15小组件怎么换照片(ios15小组件怎么调整大小)

  • 小米10青春版有几种颜色(小米10青春版有没有nfc)

    小米10青春版有几种颜色(小米10青春版有没有nfc)

  • 屏幕录制怎么没有声音(屏幕录制怎么没有画面)

    屏幕录制怎么没有声音(屏幕录制怎么没有画面)

  • 微信朋友权限仅聊天可以看朋友圈吗(微信朋友权限仅聊天是什么意思)

    微信朋友权限仅聊天可以看朋友圈吗(微信朋友权限仅聊天是什么意思)

  • 无线鼠标的usb接口没了 能配吗(无线鼠标的usb接口怎么拔下来)

    无线鼠标的usb接口没了 能配吗(无线鼠标的usb接口怎么拔下来)

  • qq名片赞图标怎么隐藏(qq名片赞怎么消失)

    qq名片赞图标怎么隐藏(qq名片赞怎么消失)

  • 升级miui12会清除数据吗(升级miui12后还能退回去吗)

    升级miui12会清除数据吗(升级miui12后还能退回去吗)

  • 快手注销第一项不通过(快手注销账号最后一步)

    快手注销第一项不通过(快手注销账号最后一步)

  • vivo手机红外被异常遮挡怎么办(vivo手机红外被异常遮挡是什么意思)

    vivo手机红外被异常遮挡怎么办(vivo手机红外被异常遮挡是什么意思)

  • 华为p30pro外屏碎了怎么换(华为p30pro外屏碎了多少钱)

    华为p30pro外屏碎了怎么换(华为p30pro外屏碎了多少钱)

  • 快手有赞订单怎么没了(快手有赞订单怎么查询)

    快手有赞订单怎么没了(快手有赞订单怎么查询)

  • 抖音被对方拉黑了还能搜到对方吗(抖音被对方拉黑了,怎么看他的作品?)

    抖音被对方拉黑了还能搜到对方吗(抖音被对方拉黑了,怎么看他的作品?)

  • 陌陌封号的原因是什么(陌陌封号是什么原因)

    陌陌封号的原因是什么(陌陌封号是什么原因)

  • 华为手机回收站照片删除找回(华为手机回收站文件恢复)

    华为手机回收站照片删除找回(华为手机回收站文件恢复)

  • 华为nova7防水吗(华为nova10pro防水吗)

    华为nova7防水吗(华为nova10pro防水吗)

  • wap2密码什么意思(wap2密码无效)

    wap2密码什么意思(wap2密码无效)

  • 微信发语音的时候怎么放音乐(微信发语音的时候震动一下怎么关)

    微信发语音的时候怎么放音乐(微信发语音的时候震动一下怎么关)

  • ipad保修范围包括哪些(ipad保修需要多久)

    ipad保修范围包括哪些(ipad保修需要多久)

  • 美团可以买火车票吗(美团可以买火车下铺吗)

    美团可以买火车票吗(美团可以买火车下铺吗)

  • 手机停机什么意思(手机停机是怎么回事?)

    手机停机什么意思(手机停机是怎么回事?)

  • 手机迅雷屏幕设置在哪(手机迅雷播放怎么变成竖屏)

    手机迅雷屏幕设置在哪(手机迅雷播放怎么变成竖屏)

  • 华为手表自定义表盘(华为手表自定义表盘怎么设置)

    华为手表自定义表盘(华为手表自定义表盘怎么设置)

  • 电脑虾米音乐怎么下载歌词(电脑虾米音乐怎么下载到u盘)

    电脑虾米音乐怎么下载歌词(电脑虾米音乐怎么下载到u盘)

  • 手机qq怎么关自动回复(如何关闭qq的自动)

    手机qq怎么关自动回复(如何关闭qq的自动)

  • 不是好友能看到随拍么(不是好友能看到对方的随心贴吗)

    不是好友能看到随拍么(不是好友能看到对方的随心贴吗)

  • 【React】使用Next.js构建并部署个人博客(react extend)

    【React】使用Next.js构建并部署个人博客(react extend)

  • sestatus命令  显示SELinux状态(sysstat命令)

    sestatus命令 显示SELinux状态(sysstat命令)

  • 符合条件的小型微利企业所得税税率为
  • 怎么找回丢失的手机号
  • 包工包料的税率2023
  • 明细分类核算的方法分为
  • 母公司为子公司担保是利好还是利空
  • 小规模纳税人费用发票怎么做账
  • 项目部租房办公应计入什么费用
  • 收到投资者购买股票的资金
  • 财务费用利息收入的账务处理
  • 营改增后建筑施工税率调整变化
  • 生产型企业增值税率是多少
  • 增值税即征即退政策
  • 普通发票开票步骤
  • 免抵税额计入什么科目
  • 2020金税四期上线
  • 外资生产企业出口销售会计处理
  • 金蝶的币别和汇率怎么取消
  • 资产账实不符说明
  • 特种车辆租赁需要什么资质
  • 在标题栏显示完整页面
  • 什么是电子发票图片
  • cookie 区别
  • ThinkPHP让../Public在模板不解析(直接输出)的方法 原创
  • “linux系统”
  • 二手车交易税咋算
  • 出差补贴是必须的吗
  • 纳税人购进农产品取得
  • vue3 vue.config.js配置Element-plus组件和Icon图标实现按需自动引入
  • 加工制造业包括
  • 不发放工资怎么办
  • 建筑业预缴增值税
  • 餐饮定额发票能报销吗怎么报销
  • jsp做登录界面
  • 前端实战面试题
  • uniapp支付宝支付开发
  • 销项税太多
  • wordpress jquery
  • 公允价值计量的投资性房地产
  • python动态强类型语言
  • 计划资产产生的股利
  • php访问mysql数据库函数
  • aspcms标签
  • 小规模纳税企业销售货物或者提供应税劳务
  • 企业无力支付票据
  • 资产处置收益项目有哪些
  • 交易性金融资产的入账价值
  • 个人所得税能说明什么
  • 加油卡充值可以开增值税专用发票吗
  • 主营业务收入多计提怎么冲减
  • 小额贷款在银行需要什么条件
  • 机动车临时号牌怎么贴
  • 固定资产清理属于什么科目
  • 一般纳税人采购分录
  • 虚增利润怎么调整
  • 保险费的增值税属于什么税
  • 折扣怎么写会计分录
  • 计提资产减值是好事还是坏事
  • 工业企业无形资产有哪些
  • windows怎么管理员权限
  • 微软6月24号
  • calc.exe是什么程序
  • windows与linux的关系
  • Ubuntu 14.04安装java的方法以Ubuntu14.04为例
  • linux抓包语句
  • shell 子函数
  • tplinkwr740n设置
  • jquery手风琴折叠菜单
  • jquery操作html代码
  • Linux数据库备份的命令
  • node语句
  • jquery如何解决跨域问题
  • jquery 修改
  • 严苛认证
  • python中的open
  • 要使物体从静止状态转变为运动状态需要对这个物体什么
  • javascript word
  • android中toast用法
  • 全国残疾人工作先进个人
  • 东莞房地产协会副会长
  • 城市维护建设税税基是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设