为了账号安全,请及时绑定邮箱和手机立即绑定

如何关闭使用ast.literal_eval打开它们的文件?

如何关闭使用ast.literal_eval打开它们的文件?

侃侃无极 2022-08-25 15:08:56
我的程序使用了很多外部文件。大多数情况下,这些文件只包含一个字典。目前我正在打开这样的文件:userdata = ast.literal_eval(open("./users.txt", "r").read())这会将字典保存到变量用户数据中。现在我可以稍微改变一下值,然后像这样写回字典:open("./users.txt", "w").write(str(userdata))显然,我无法关闭文件,因为userdata不是文件对象,而只是字典。如何关闭这些文件或它们是否自闭?userdata.close该文件可以总结为仅包含以下字符串:(实际上会有多个用户和多个键){'name' : 'User1', 'money' : 50}
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超8个赞

使用上下文管理器功能打开文件,关键字。这可确保在上下文管理器的作用域结束时始终关闭文件。with

使用以下命令读取它:

with open("./users.txt", "r") as f:
    userdata = ast.literal_eval(f.read())

并使用以下方法编写它:

with open("./users.txt", "w") as f:
    f.write(str(userdata))


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号