Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python flask web服务器从客户端获取数据,但无法保存_Python_Json_Flask_Load_Dump - Fatal编程技术网

Python flask web服务器从客户端获取数据,但无法保存

Python flask web服务器从客户端获取数据,但无法保存,python,json,flask,load,dump,Python,Json,Flask,Load,Dump,我刚刚开发了一个简单的应用程序,它从客户机接收一种数据并用它执行其他活动。在其他情况下,要执行此类活动,应用程序必须存储数据,但这不起作用。我正在使用Python Flask框架 我试图用json.dump()、f.write()和pickle.dump()保存数据,但数据没有保存在服务器中。服务器可以打印数据,但不能保存数据 客户端运行此函数以发送数据: def set_data(): r = requests.post( "http://myweba

我刚刚开发了一个简单的应用程序,它从客户机接收一种数据并用它执行其他活动。在其他情况下,要执行此类活动,应用程序必须存储数据,但这不起作用。我正在使用Python Flask框架

我试图用json.dump()、f.write()和pickle.dump()保存数据,但数据没有保存在服务器中。服务器可以打印数据,但不能保存数据

客户端运行此函数以发送数据:

 def set_data():
        r = requests.post(
            "http://mywebapp.com/dataset,
            data = dumps({"code": code})
        )
        assert loads(r.text)["status"] == "OK"
@bp.route("/dataset", methods=["GET", "POST"])
def data_set():
    if request.method == "POST":
            try:
                    data = loads(request.data.decode('utf-8'))
                    bp.code = data["code"]
                    print(bp.code)
                    with open(file, "w") as f:
                        json.dumps(bp.code, f)
                    return dumps({"status": "OK"})
服务器运行此功能来处理数据:

 def set_data():
        r = requests.post(
            "http://mywebapp.com/dataset,
            data = dumps({"code": code})
        )
        assert loads(r.text)["status"] == "OK"
@bp.route("/dataset", methods=["GET", "POST"])
def data_set():
    if request.method == "POST":
            try:
                    data = loads(request.data.decode('utf-8'))
                    bp.code = data["code"]
                    print(bp.code)
                    with open(file, "w") as f:
                        json.dumps(bp.code, f)
                    return dumps({"status": "OK"})

我能够打印bp.code,它有一个类型类“list”。bp.code的外观类似于[1000000,[2000000]],实际上似乎是一个列表。即使我能够打印bp.code,我也无法将其保存在磁盘中。我如何调试负责保存bp.code的函数的特定部分发生了什么?我不确定这是否是在服务器中保存内容的正确方法。我尝试将Flask调试模式置于活动状态,但它在routes/or/dataset中不显示任何内容。非常感谢。

也许可以尝试使用
json.dump()
而不是
dumps()

是否有错误消息或该文件为空?该文件已创建,但为空。我在客户机中得到的唯一消息是返回dumps({“status”:“OK”})行给出的断言错误。我得到的错误是:set_data assert loads(r.text)[“status”]=“OK”AssertionError中的第83行文件“client.py”如何调试服务器的python函数?感谢您的回答。我试过使用dump,但问题仍然存在,所以可能不是写作的问题。问题似乎出在不返回任何内容或错误的断言中。请尝试在
set_data()
函数中使用Try:-->除了断言错误和打印错误之外,文件已创建但为空。因此,在创建文件后,似乎有一个写入错误。因此:return dumps({“status”:“OK”})行不会返回任何内容或其他内容。我不明白你的建议。你能告诉我更多关于它的情况吗?非常感谢。只需在打印(bp.code)上设置一个断点,然后告诉我bp.code的类型和确切值。bp.code就是这个两元素列表:[13761060917,[5182911257157]]。bp.code的类型为。谢谢