Python可以通过多种方式实现文件传输,核心方法包括:使用标准库(email/smtplib)、第三方库(requests/ftplib)、云存储API(如百度网盘)以及局域网共享(socket)。 以下是具体实现方案:
-
通过电子邮件发送附件
利用smtplib
和email
库构建带附件的邮件:pythonCopy Code
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase msg = MIMEMultipart() msg.attach(MIMEBase('application', 'octet-stream').set_payload(open('file.zip','rb').read())) smtp = smtplib.SMTP('smtp.example.com') smtp.sendmail('sender@mail.com', 'receiver@mail.com', msg.as_string())
-
HTTP传输(Flask临时服务)
快速搭建本地HTTP服务共享文件:pythonCopy Code
from flask import Flask, send_file app = Flask(__name__) @app.route('/download') def download(): return send_file('data.xlsx') app.run(host='0.0.0.0', port=5000)
接收方通过浏览器访问
http://你的IP:5000/download
即可下载。 -
云存储API对接
以百度网盘为例,通过bypy
库上传:pythonCopy Code
from bypy import ByPy bp = ByPy() bp.upload('report.pdf', '/远程路径/')
自动生成分享链接供他人下载。
-
局域网直传(socket编程)
使用socket
模块建立点对点传输:pythonCopy Code
# 发送端 with socket.socket() as s: s.connect(('192.168.1.100', 12345)) s.sendall(open('video.mp4','rb').read())
提示:大文件建议分块传输,敏感文件需加密处理。根据网络环境和文件大小选择最适合的方案。