Python 文件服务器 - 实现文件上传功能
下面是一个简单的 Python 文件服务器程序,支持文件上传:\n\npython\nimport socket\nimport os\n\ndef handle_upload(conn, file_path):\n # 接收文件内容并保存到本地\n with open(file_path, 'wb') as f:\n while True:\n data = conn.recv(1024)\n if not data:\n break\n f.write(data)\n\n print(f"文件保存成功:{file_path}")\n\ndef start_server():\n # 创建服务器套接字\n server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n server_host = 'localhost'\n server_port = 8888\n\n # 绑定服务器地址\n server_socket.bind((server_host, server_port))\n\n # 监听连接\n server_socket.listen(1)\n print("服务器已启动,等待连接...")\n\n while True:\n # 接受客户端连接\n conn, addr = server_socket.accept()\n print(f"新连接:{addr}")\n\n # 接收文件名\n filename = conn.recv(1024).decode()\n\n # 检查文件是否已存在\n if os.path.exists(filename):\n conn.send(b"文件已存在,上传失败")\n continue\n\n # 发送确认消息\n conn.send(b"开始上传")\n\n # 处理文件上传\n handle_upload(conn, filename)\n\n # 关闭连接\n conn.close()\n\nif __name__ == "__main__":\n start_server()\n\n\n你可以把上述代码保存为一个 Python 文件(例如file_server.py),然后在终端中运行该文件。服务器将在本地 8888 端口监听连接,当接收到客户端连接后,会接收到客户端发送的文件名,然后将文件内容保存到服务器端。
原文地址: http://www.cveoy.top/t/topic/pUGm 著作权归作者所有。请勿转载和采集!