我的程序使用了很多外部文件。大多數(shù)情況下,這些文件只包含一個(gè)字典。目前我正在打開(kāi)這樣的文件:userdata = ast.literal_eval(open("./users.txt", "r").read())這會(huì)將字典保存到變量用戶數(shù)據(jù)中?,F(xiàn)在我可以稍微改變一下值,然后像這樣寫回字典:open("./users.txt", "w").write(str(userdata))顯然,我無(wú)法關(guān)閉文件,因?yàn)閡serdata不是文件對(duì)象,而只是字典。如何關(guān)閉這些文件或它們是否自閉?userdata.close該文件可以總結(jié)為僅包含以下字符串:(實(shí)際上會(huì)有多個(gè)用戶和多個(gè)鍵){'name' : 'User1', 'money' : 50}
1 回答

qq_遁去的一_1
TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用上下文管理器功能打開(kāi)文件,關(guān)鍵字。這可確保在上下文管理器的作用域結(jié)束時(shí)始終關(guān)閉文件。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))
添加回答
舉報(bào)
0/150
提交
取消