Python 中实现局域网内文件共享功能,有很多种方法可以实现。下面是一种使用 Python 的 sockets 模块实现的方法。
首先,需要定义一个服务端程序,用于接收客户端发送的请求并返回文件内容。
import socket
# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 设置最大连接数,超过后排队
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print('连接地址:%s' % str(addr))
message = client_socket.recv(1024).decode('utf-8')
if not message:
break
print('接收内容:%s' % message)
# 读取文件内容
with open(message, 'r') as f:
data = f.read()
# 发送数据
client_socket.send(data.encode('utf-8'))
# 关闭客户端连接
client_socket.close()
# 关闭 socket
server_socket.close()
然后,需要定义一个客户端程序,用于向服务端发送请求并接收文件内容。
import socket
# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 9999
这样,就可以通过服务端程序和客户端程序实现局域网内文件共享功能了。
请注意,这只是一种实现方式,并不是唯一的方法。还有其他的方法可以实现相同的功能,例如使用 Python 的 ftplib 模块,或者使用网络文件系统 (NFS) 等。
效果图:
项目下载: