位置: 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装饰器(九步功法)

  • 微信营销推广方法12种(微信营销推广方案模板)

    微信营销推广方法12种(微信营销推广方案模板)

  • 2022微信如何设置其他地区(2022微信如何设置性别为空)

    2022微信如何设置其他地区(2022微信如何设置性别为空)

  • 小米10支持立体声扬声器吗(小米10s立体图)

    小米10支持立体声扬声器吗(小米10s立体图)

  • 电脑1分钟自动锁屏怎么办

    电脑1分钟自动锁屏怎么办

  • 魅族手机媒体音量自动归零(魅族媒体音量同步)

    魅族手机媒体音量自动归零(魅族媒体音量同步)

  • 手机屏幕比例有哪些?(手机屏幕比列)

    手机屏幕比例有哪些?(手机屏幕比列)

  • 华为手机用一会就发热是怎么回事(华为手机用一会就自动关机)

    华为手机用一会就发热是怎么回事(华为手机用一会就自动关机)

  • ipadair2是第几代(ipadair2是第几代的)

    ipadair2是第几代(ipadair2是第几代的)

  • 手机信号变成2g怎么回事(手机信号变成2g了怎么改成4g)

    手机信号变成2g怎么回事(手机信号变成2g了怎么改成4g)

  • 华为p40prohd怎么关闭(华为p40hdr怎么设置)

    华为p40prohd怎么关闭(华为p40hdr怎么设置)

  • 手机登两个微信怎么登(咋样一个手机登两个微信)

    手机登两个微信怎么登(咋样一个手机登两个微信)

  • 华为手机视频无法全屏(华为手机视频无法播放是什么原因)

    华为手机视频无法全屏(华为手机视频无法播放是什么原因)

  • 微信怎么群视频(微信怎么群视频?)

    微信怎么群视频(微信怎么群视频?)

  • 主板和cpu的区别(6500配什么主板)

    主板和cpu的区别(6500配什么主板)

  • ipadmini4有16g的吗(ipadmini4有16g版本吗)

    ipadmini4有16g的吗(ipadmini4有16g版本吗)

  • 两张移动卡能一起用吗(两张移动卡一张2g一张4g)

    两张移动卡能一起用吗(两张移动卡一张2g一张4g)

  • 苹果自动扣费退款流程(苹果自动扣费退款成功率高吗)

    苹果自动扣费退款流程(苹果自动扣费退款成功率高吗)

  • 怎样在cad原图改图纸(怎么改变cad图片大小)

    怎样在cad原图改图纸(怎么改变cad图片大小)

  • 如何制作公众号文章推送(如何制作公众号流程)

    如何制作公众号文章推送(如何制作公众号流程)

  • 苹果7打电话没声音免提灰色(苹果7打电话没声音,扬声器也开不了)

    苹果7打电话没声音免提灰色(苹果7打电话没声音,扬声器也开不了)

  • 抖音直播怎么设置禁言(抖音直播怎么设置心愿单)

    抖音直播怎么设置禁言(抖音直播怎么设置心愿单)

  • vivoy93的返回键在哪里(vivoy93s返回键怎么调成按键)

    vivoy93的返回键在哪里(vivoy93s返回键怎么调成按键)

  • 华为p30防不防水(华为p30防水吗 华为p30手机防水吗?)

    华为p30防不防水(华为p30防水吗 华为p30手机防水吗?)

  • 抖音视频暂时无法保存(抖音视频暂时无法加热解决办法)

    抖音视频暂时无法保存(抖音视频暂时无法加热解决办法)

  • 微信如何@所有人(微信如何所有人一键喊话)

    微信如何@所有人(微信如何所有人一键喊话)

  • 微信小程序父子组件之间传值(微信小程序父子通信)

    微信小程序父子组件之间传值(微信小程序父子通信)

  • 采购材料的进项税
  • 分公司可以在银行开户吗
  • 注册资本 投资比例
  • 公司为员工报销的医药费
  • 生产车间财产保险费计入什么费用
  • 生产企业出售空调设备
  • 出让固定资产怎样计算增值税
  • 建筑工程勘察费占设计费的比例
  • 外购动力的分录
  • 没有收汇可以申报吗
  • 小规模纳税人怎么查询
  • 长期股权投资权益法初始成本的确定
  • 已认证未抵扣什么意思
  • 预收物业费如何填报申报表
  • 低值易耗品按三年摊销吗
  • 公司购买办公用品计入什么科目
  • 企业所得税退税的会计分录怎么做
  • 开发票零税率和免税是一样的意思吗
  • 子公司可否将母公司注销
  • 消费税组成计税价
  • 异地施工预缴税款会计分录
  • 车船税交给谁了
  • 如何在国税网站下载财务报表
  • 企业购买设备可以税前扣除吗
  • 子公司的注册资金需要母公司股东出吗?
  • 公司股权转让流程是先工商还是税务
  • win11桌面图标怎么设置
  • 净现值是否可行
  • 会计监督的基本规定有哪些
  • 软件开发公司怎么做账
  • linux日期格式
  • u盘一键启动安装系统
  • 新买的苹果电脑需要注意什么
  • PHP:session_commit()的用法_Session函数
  • 成本法转为权益法属于会计政策变更吗
  • 月末结转本月发生的各种费用会计分录
  • 微软系统安装软件
  • php floor()
  • 以物易物双方做什么处理
  • thinkphp3.2框架
  • SpringBoot+Vue实现文件上传下载功能
  • 你让他心动他让你心安
  • 企业注销时还有进项税
  • 开票资料更改
  • c#调用excel
  • 购进交通运输设备怎么做账
  • 企业所得税的应纳税所得额怎么计算
  • 资产减值损失借贷方向
  • 未税金额怎么算税费
  • 总资产法怎么计算公式
  • 企业在建工程领用自产应税消费品成本为10000元
  • 税务突然查账
  • 交通运输业营改增
  • 当月无销售要计提工资吗
  • 保险费的增值税属于什么税
  • 日记账的设置
  • 私营企业固定资产法律制度
  • session入库有什么好处
  • mysql 数据修改
  • windows7的插孔设置在哪
  • win8.1还原系统
  • ubuntu删除vmware
  • Linux中stat命令显示文件的基本使用教程
  • ios macos
  • 如何查看windows使用痕迹
  • win10闹钟软件
  • 腙基是什么
  • 用bat脚本快速编程
  • 同一个页面
  • bootstrap入门教程
  • 噩梦pv
  • unity第三人称视角跟随物体移动
  • python函数判断
  • python多进程多线程协程
  • 滴滴发票怎么查行程
  • 贵州省税务网上缴费平台
  • 人防异地建设费标准
  • 公司买水果怎么开票
  • 贷款利息扣款日未足额缴纳
  • 一般纳税人税务事项告知书在哪里打
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设