资源简介
代码运行请复制进自己的功能需求中去。
或者直接将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实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论