【Python】tcp文件下载器
来源:互联网 发布:windows hello好用吗 编辑:程序博客网 时间:2024/05/17 23:54
客户端
import socket
import os
def main():
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# send_ip = input('请输入目的ip:')
# send_port = int(input('请输入目的端口:'))
file_name = input('请输入要下载的文件:')
# client_socket.connect((send_ip, send_port))
client_socket.connect(('', 7788))
client_socket.send(file_name.encode())
f = open('new'+file_name, 'wb')
recv_len = 0
while True:
recv_data = client_socket.recv(1024)
if recv_data:
f.write(recv_data)
recv_len += len(recv_data)
else:
if recv_len:
f.close()
client_socket.close()
print('文件下载成功')
else:
os.remove('new'+file_name)
print('文件不存在!')
break
client_socket.close()
if __name__ == '__main__':
main()
服务端
import socket
def read_file_data(file_name):
try:
f = open(file_name, 'rb')
except Exception as e:
print('文件不存在')
else:
file_data = f.read()
return file_name
def main():
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('', 7788))
server_socket.listen(128)
while True:
client_socket, client_addr = server_socket.accept()
print('接收来自%s的连接>>' % str(client_addr))
file_name = client_socket.recv(1024)
data = read_file_data(file_name)
if data:
client_socket.send(data)
client_socket.close()
server_socket.close()
if __name__ == '__main__':
main()
- 【Python】tcp文件下载器
- python TCP传输文件
- Python 如何下载文件
- Python下载文件
- python 下载文件
- 使用python下载文件
- python 下载文件汇总
- python下载文件DEMO
- python下载文件
- Python分段下载文件
- python下载文件
- python下载文件
- Python 批量下载文件
- 【详解】Python下载文件
- Python 下载文件
- python wget下载文件
- python 下载文件汇总
- python 批量下载文件
- Unity API——Application类的详解(二):数据文件路径
- C语言中调用LUA(1)
- leetcode-698. Partition to K Equal Sum Subsets
- 理解偏差、方差
- RabbitMQ 之七 TTL与Dead lettering
- 【Python】tcp文件下载器
- 产品日记(二)一些愚见, 记录在此
- 【Spring+SpringMVC+MyBatis深入学习及搭建】06.MyBatis关联查询
- 理解 CSS 布局和块级格式上下文
- 【初识Python笔记】了解一些简单的python代码效果
- 二叉树的遍历
- 【Spring+SpringMVC+MyBatis深入学习及搭建】07.MyBatis延迟加载
- 中点坐标公式的证明过程
- 强化学习(Reinforcement Learning, RL)初步介绍