无法将字典保存到文件
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/... 如何授予写入文件的权限?以上是关于无法将字典保存到文件的主要内容,如果未能解决你的问题,请参考以下文章