1  服务器

import socketdef send_file_2_client(new_client_socket, client_addr):# 1. 接收客户端 需要下载的文件名# 接收客户端发送过来的 要下载的文件名file_name = new_client_socket.recv(1024).decode("utf-8")print("客户端(%s)需要下载文件是:%s" % (str(client_addr), file_name))file_content = None# 2. 打开这个文件,读取数据try:f = open(file_name, "rb")file_content = f.read()f.close()except Exception as ret:print("没有要下载的文件(%s)" % file_name)# 3. 发送文件的数据给客户端if file_content:# new_client_socket.send("hahahghai-----ok-----".encode("utf-8"))new_client_socket.send(file_content)def main():# 1. 买个手机(创建套接字 socket)tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2. 插入手机卡(绑定本地信息 bind)tcp_server_socket.bind(("", 7890))# 3. 将手机设置为正常的 响铃模式(让默认的套接字由主动变为被动 listen)tcp_server_socket.listen(128)while True:# 4. 等待别人的电话到来(等待客户端的链接 accept)new_client_socket, client_addr = tcp_server_socket.accept()# 5. 调用发送文件函数,完成为客户端服务send_file_2_client(new_client_socket, client_addr)# 6. 关闭套接字new_client_socket.close()tcp_server_socket.close()if __name__ == "__main__":main()

根目录下放好要下载的文件

down.txt的内容如下

Wear gratitude like a cloak and it will feed every corner of your life.

2 客户端

# encoding: utf-8
import socketdef main():# 1. 创建套接字tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2. 获取服务器的ip portdest_ip = input("enter ip:")dest_port = int(input("enter port:"))# 3. 链接服务器tcp_socket.connect((dest_ip, dest_port))# 4. 获取下载的文件名字download_file_name = input("enter name:")# 5. 将文件名字发送到服务器tcp_socket.send(download_file_name.encode("utf-8"))# 6. 接收文件中的数据recv_data = tcp_socket.recv(1024)  # 1024--->1K  1024*1024--->1k*1024=1M 1024*1024*124--->1Gif recv_data:# 7. 保存接收到的数据到一个文件中with open("[new]" + download_file_name, "wb") as f:f.write(recv_data)# 8. 关闭套接字tcp_socket.close()if __name__ == "__main__":main()

如果在同一个电脑上运行,ip = 127.0.0.1 port就是服务代码里写的 name = down.txt

3或者服务器用网络助手

客户端运行后  name = new.txt

然后在服务器上发送一段话则在客户端收到并保存[new] new.txt如下

用网络助手时中文也可以

python文件下载学习相关推荐

  1. Python系统学习流程图,教你一步步学习python

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  2. python文件下载战_在您的Python平台游戏中放一些战利品

    python文件下载战 这是正在进行的有关使用Pygame模块在Python 3中创建视频游戏的系列的一部分. 以前的文章是: 通过构建一个简单的骰子游戏,学习如何用Python编程 使用Pygame ...

  3. python如何使用gpu加速_如何用云端 GPU 为你的 Python 深度学习加速?

    负荷 下午,我用 Python 深度学习框架 Keras 训练了一个包含3层神经网络的回归模型,预测波士顿地区房价. 这是来自于 "Deep Learning with Python&quo ...

  4. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  5. Python深度学习:基于TensorFlow

    作者:吴茂贵,王冬,李涛,杨本法 出版社:机械工业出版社 品牌:机工出版 出版时间:2018-10-01 Python深度学习:基于TensorFlow

  6. Python深度学习:基于PyTorch [Deep Learning with Python and PyTorch]

    作者:吴茂贵,郁明敏,杨本法,李涛,张粤磊 著 出版社:机械工业出版社 品牌:机工出版 出版时间:2019-11-01 Python深度学习:基于PyTorch [Deep Learning with ...

  7. Python - 输出格式 (学习小结)

    Python - 输出格式 (学习小结) Bu.xing 利用现代手段,创建学习家园 ​关注他 1 人赞同了该文章 Python 输出格式 我们常说的输出格式分两种含义: # 一种是指数据在屏幕上的显 ...

  8. Python入门 Python自学路线 Python如何学习

    本文介绍Python入门 Python自学路线 Python如何学习.先说点题外话吧:首先呢,我刚开始接触编程的时候,学的是C,那时候Python还没有这么火,后来学了C++,PHP,Java,前端. ...

  9. python windows编程_在Windows下配置Python编程学习环境

    一.需求: 之前是在Linux环境下进行Python的学习,每次开虚拟机觉得有点麻烦,希望可以直接在Windows的dos命令行下进行Python编程学习. 二.安装软件 直接从官网下载这两个软件安装 ...

  10. python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移

    <python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...

最新文章

  1. 关于把程序添加到打开方式的解决办法
  2. python 字符编码
  3. CodeForces - 208E Blood Cousins(树上倍增+二分/树上启发式合并)
  4. art.dialog弹出框后再根据其内部iframe的大小调整大小
  5. 颜宁:当科学家是幸福的
  6. 【转】用C#获取浏览文件夹对话框
  7. 单词数 HDU - 2072 (字典树)
  8. 编译安装mysql-5.5.33
  9. 韩国瑜:打造高雄全台首富 3月内完成施政总体检
  10. 深度学习软件安装及环境配置(Win10)
  11. 使用x264压制视频简介
  12. 2019.6.24 校内测试 NOIP模拟 Day 2 分析+题解
  13. MTK芯片技术资料大全,各个型号都有,包括原理图数据表等
  14. 计算机表格里的隐藏怎么弄出来怎么办,电脑表格隐藏不见了怎么办
  15. ubuntu 有key登入sshd Failed publickey for xxx from xx port Xxx ssh2
  16. Mac 调节鼠标移速
  17. Havel—Hakimi定理(度序列)
  18. 基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间
  19. 68 SpringBoot
  20. windows安全警报怎么关闭_Windows10如何关闭自动更新

热门文章

  1. 匈牙利算法求最大匹配
  2. ajax 怎么添加,添加功能(Ajax版)
  3. c++ 打印日志信息
  4. c语言三位数倒序,C语言求助!一个三位数的逆序数,总是编不对
  5. java找出两个共有,Java-找出两个单链表的首个公共节点
  6. python选取tensor某一维_python基础教程详解torch.Tensor的4种乘法
  7. python打包和添加数据文件_使用pyinstaller 2.1将python打包并添加版本信息和图标
  8. 我的世界如何开直连服务器,我的世界服务器如何连接 连接服务器教程
  9. HTML中标签的ref属性,itemref(属性) | itemref (attribute)
  10. Eigen教程(5)