操作 linux 主机的话用 paramiko 会简单很多,可以看我下面的文章。
Python 技术篇-用 paramiko 库实现 winodws 本地文件上传至 linux 服务器实例演示
首先是在要进行管理的 windows 服务器下运行下面的代码启用服务。
# -*- coding:utf-8 -*- import flask app = flask.Flask(__name__) # 文件传输 @app.route('/sendfile', methods=['GET', 'POST']) def down_file(): if flask.request.method == 'POST': file = flask.request.files['file'] # 获取上传的文件 if(file): # 如果文件存在 path_aim = flask.request.values.get('path'); if(path_aim[-1] != "\\"): path_aim = path_aim + "\\" file.save(path_aim + file.filename) # 保存文件 return "文件接收成功!"; if __name__ == '__main__': host_ip = "10.11.xx.xx" host_port = 5003 app.run(host = host_ip, port = host_port)
运行后效果图:
现在就等待接收请求了。
然后在要上传文件的本机,模拟一个 post 请求,进行传输文件。
import requests url = "http://10.11.xx.xx:5003/sendfile" data = {'path':'D:\\工具'} files = {'file':open(r'/Users/lizhi/Desktop/lizhi/file/XpathRobot_Crx.zip', 'rb')} req = requests.request("POST", url = url, files = files, data = data) print(req.text)
运行后效果图:
可以看到直接接收到了服务端的响应,提示已经上传成功了。
这是我 mac 本地里的文件。
这是成功上传到我指定目的地址的文件。
喜欢的点个赞❤吧!