无法将字典保存到文件

Posted

技术标签:

【中文标题】无法将字典保存到文件【英文标题】:Cannot save dictionary to the file 【发布时间】:2021-05-07 15:53:28 【问题描述】:

我正在编写一个简单的脚本,但在将我的 dict 输出从服务器保存到文件时遇到了麻烦。没有错误,但数据未保存到文件中。你能帮忙吗?

s=requests.Session()

response = s.post("https://tp-dc-ixm0.net/api/login", verify=False, data=user_passwd)

response1 = json.loads(s.get("https://tp-dc-ixm0.net/api/tests?status=all&topology=NodeToNode&limit=100", verify=False, data=user_passwd).text)

print(type(response1))
with open('data.txt', 'w') as output:
    json.dump(response1, output)

【问题讨论】:

那么,data.txt 包含什么? 我试过你的代码,它工作。 response1 不是空的吗?你也可以试试打印吗? 【参考方案1】:

试试:

import json
with open('data.txt', 'w') as output:
    output.write(json.dumps(response1))

【讨论】:

感谢您的帮助。相同的。没有错误,但无法保存到文件中。数据肯定在那里。当我打印它时,会有一堆数据。【参考方案2】:

Try this

import json
  
# python object(dictionary) to be dumped
dict1 =
    "emp1": 
        "name": "Lisa",
        "designation": "programmer",
        "age": "34",
        "salary": "54000"
    ,
    "emp2": 
        "name": "Elis",
        "designation": "Trainee",
        "age": "24",
        "salary": "40000"
    ,

  
# the json file where the output must be stored
out_file = open("myfile.json", "w")
  
json.dump(dict1, out_file)
  
out_file.close()

或者这个

with open('myfile.json', 'w') as json_file:
    json.dump(d, json_file)

如果还没有创建文件,请检查程序是否可以在该路径下创建文件。尝试以 root 用户身份运行它或检查您在应创建文件的文件夹中的用户权限。

Permissions in linux

【讨论】:

为什么要缩进 6?标准是 4。此外,您应该使用 with 语句,使用 :) 更容易管理错误 谢谢。不知道为什么,但模式为“w”的文件应该自动创建,但在这两种情况下都不会:/ 这是一个例子。嗯,一个人的思考不是异步的,而是同步的。当您可以打开和关闭时,为什么还要做一些更私人的事情? @Patryk-Petryszen 您的程序是否有权创建文件? @Doumor 你是对的!我将脚本移动到我的桌面,现在它可以正常工作了...以前我使用路径 /users/patryk/... 如何授予写入文件的权限?

以上是关于无法将字典保存到文件的主要内容,如果未能解决你的问题,请参考以下文章

从字典保存到文件(错误)

如何将字典保存到文件中,保持良好的格式?

如何将字典列表保存到文件中?

如何将字典保存到文件中?

目标C将带有扩展名和名称的文件保存到字典

使用 Swift 5 - PDFKit 在 iOS 中编辑和保存现有的 pdf 文档