由于学习写的心得的文件来回上传比较麻烦,所以直接写了一个服务器和客户端来进行文件同步
当服务器收到客户端的
download
命令时,将服务器的文件夹压缩后发送到客户端,然后由客户端解压缩后放到本地当服务器收到客户端的
upload
命令时,将客户机本地文件夹压缩后上传到服务器,由服务器解压后放入本地需要用到的模块:
socketserver
,shutil
,time
,os
服务端
import socket,shutil,time,os
# 服务器上文件所在的文件夹
file = r'C:\Users\wudi.HAPMMAGNA\Desktop\Python学习'
# 将文件夹中的文件全部压缩,并转化为二进制文件,给二进制文件添加nowisend结束后缀
def zip_data():
shutil.make_archive('ZipData','zip',file)
with open('ZipData.zip','rb')as f:
data = f.read()
return data + b'nowisend'
# 将从客户端上传的二进制文件先写入为压缩包,再将压缩包解压到服务器文件夹,如果文件夹中存在文件,则先删除后添加
def unzip_data(data):
with open('UnzipData.zip','wb')as f:
f.write(data)
list = os.listdir(file)