初学python,使用socket可以传输文件,想传输整个文件夹里的所有的内容,这样两台电脑文件的互传就十分的方便
传输文件夹思路有两个,一个是遍历文件夹下所有的文件,分别发送直到所有的文件传输完成。另一个就是发送端把文件夹打包压缩,传输压缩文件,接收端接收完成后解压。
服务端:接收文件夹
import socket
import os
import sys
import struct
import tarfile
save_path = '接收的文件夹存储地址'
def socket_service():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR, 1)
s.bind(('本机ip地址', port))
s.listen(2)
except socket.error as msg:
print(msg)
sys.exit(1)
print('waiting..............')
while True:
sock, addr = s.accept()
deal_data(sock, addr, save_path)
extent_tar(save_path)
def deal_data(sock, addr, save_path):
print