将文件保存到另一台计算机-Python

将文件保存到另一台计算机-Python,python,file,flask,Python,File,Flask,目前我知道如果你想知道用户的ip登录到你的网站 只需执行此代码 home1 = request.remote_addr 所以我已经得到了他们的ip 接下来,当他们试图下载文件时,我想将文件保存到他们的桌面上。 所以我做了这个 home = os.path.join(home1,expanduser("~")) home2 = os.path.join(home,"try.txt") ap = csv.writer(file(home2,'wb')) ap.wri

目前我知道如果你想知道用户的ip登录到你的网站 只需执行此代码

home1 = request.remote_addr
所以我已经得到了他们的ip

接下来,当他们试图下载文件时,我想将文件保存到他们的桌面上。 所以我做了这个

    home = os.path.join(home1,expanduser("~"))
    home2 = os.path.join(home,"try.txt")
    ap = csv.writer(file(home2,'wb'))
    ap.writerows(["HELLOW WORLD"])
    db.session.commit()
但它似乎保存到服务器pc,而不是访问站点的用户pc上。对不起,我还是个新手。
有人能帮我吗?谢谢。

您没有向目录写信

相反,您所做的应该返回一个响应。如果您使用的是flask(我猜您是),那么可以使用send_file api

from flask import send_file

@app.route("/<file_name>")
def getFile(file_name):
    return send_file(file_name, as_attachment=True)  
从flask导入发送文件
@附件路线(“/”)
def getFile(文件名):
返回发送文件(文件名,如附件=True)

您好,我尝试了您的代码,但它给了我这个错误。TypeError:getFile()正好接受1个参数(给定0)。有什么我遗漏的吗?。对不起,这方面我还不太熟悉。ThanksHi,在flask quickstart:文档中查看变量规则。函数getFile将从@app.route('/')获取其参数,如果不想传递该参数,只需执行def getFile():此处的逻辑返回send_file。如果你把它作为另一个问题发布,我可能会向你展示它,而不仅仅是评论