资源简介
代码运行请复制进自己的功能需求中去。
或者直接将py文件放到已经打开的任务下去尝试。
127.0.0.1是计算机内部回环地址,
如果需要和别人玩请把内部回环地址改成自己的ip地址,记住客户端也需要改成你的ip地址,不然查询不到会报错,挡在门口。
文件路径请相互统一一下。如果他的计算机下不存在此地址,就不能存进去。最好丢桌面上,桌面地址请自己去此电脑中查看。
如果出现BUG 请联系我。 谢谢各位使用这么垃圾的功能。
哈哈哈哈哈哈哈哈哈哈哈。

代码片段和文件信息
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import struct
import json
import hashlib
import os
from socket import *
# dup C:\Users\Administrator\Desktop\每日笔记\day32\图片2\timg.jpg
# D:\图片\timg.jpg
# 服务器文件路径/: get D:\图片\timg.jpg
# 存放路径/文件路径: C:\Users\Administrator\Desktop\每日笔记\day32\图片\
client = socket(AF_INET SOCK_STREAM)
# print(client)
client.connect((‘127.0.0.1‘ 8082))
while True:
cmd = input(“服务器文件路径/或者目标地址: “).strip() # get 文件路径
addr=input(‘存放路径/目标存放文件路径: ‘).strip()
if len(cmd) == 0:
continue
if len(addr) == 0:
continue
cmds file_path = cmd.split()
if cmds ==‘get‘:
client.send(cmd.encode(‘utf-8‘))
# 1、先接收报头的长度
n = 0
header = b‘‘
while n < 4:
data = client.recv(1)
header += data
n += len(data)
header_size=struct.unpack(‘i‘header)[0]
# 2、再接收报头
header_json_bytes=client.recv(header_size)
header_json=header_json_bytes.decode(‘utf-8‘)
header_dic=json.loads(header_json)
print(header_dic)
# 3、最后接收真实的数据
total_size=header_dic[‘total_size‘]
filename=header_dic[‘filename‘]
recv_size = 0
with open(fr“{addr}%s“ %filename mode=‘wb‘) as f:
while recv_size < total_size:
data = client.recv(1024)
f.write(data)
recv_size += len(data)
elif cmds==‘dup‘:
client.send(cmd.encode(‘utf-8‘))
m5 = hashlib.md5()
with open(fr‘{addr}‘ mode=‘rb‘) as f:
print(‘打开文件‘)
for line in f:
m5.update(line)
md5 = m5.hexdigest()
# 一、制作报头
header_dic = {
“total_size“: os.path.getsize(addr)
“filename“: os.path.basename(addr)
“md5“: md5}
print(header_dic)
header_json = json.dumps(header_dic)
header_json_bytes = header_json.encode(‘utf-8‘)
# 二、发送数据
# 1、先发送报头的长度
header_size = len(header_json_bytes)
client.send(struct.pack(‘i‘ header_size))
# 2、再发送报头
client.send(header_json_bytes)
# 3、最后发送真实的数据
with open(fr‘{addr}‘ mode=‘rb‘) as f:
for line in f:
client.send(line)
print(‘文件上传成功!‘)
client.close()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2671 2020-08-14 18:38 上传下载文件。\3.2 客户端.py
文件 2607 2020-08-14 18:36 上传下载文件。\3.2 服务端.py
文件 450 2020-08-14 20:01 上传下载文件。\用前阅读.txt
目录 0 2020-08-14 19:57 上传下载文件。
----------- --------- ---------- ----- ----
5728 4
相关资源
- Python-BDD100K大规模多样化驾驶视频数据
- Instant Pygame for Python Game Development How
- Biopython Tutorial
- Think Python 2nd
- 一个小小的表白程序(python)
- Python课堂笔记(高淇400集第一季)
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
评论
共有 条评论