要将txt文件中的内容快速转化为字典形式,可以使用eval()函数。
首先,在写入txt文件时,不要使用f.write()方法直接写入字典的字符串形式,而是应该将字典通过json库转化为字符串形式后再写入,这样更安全且方便后续读取。
- import json
- AA = {1: 'ert', '123': 6, 45: 'abc'}
- with open('123.txt', 'w') as f:
- json.dump(AA, f)
复制代码
此时,在txt文件中会得到以下内容:
- {"1": "ert", "123": 6, "45": "abc"}
复制代码
然后,我们可以使用eval()函数将字符串快速转化为字典。但是,请注意,由于eval()函数会执行字符串中的任意代码,因此在使用时需要确保字符串的安全性,以免造成安全风险。
- import ast
- with open('123.txt', 'r') as f:
- content = f.read()
- AA = ast.literal_eval(content)
- print(AA) # 输出:{1: 'ert', '123': 6, 45: 'abc'}
复制代码
在上述代码中,我们使用了ast模块的literal_eval()函数,它会将字符串转化为其对应的Python表达式,而不会执行任意代码,从而提高了安全性。
总结一下:将字典写入txt文件时,可使用json库的dump()函数进行序列化;读取txt文件并将内容转化为字典时,可使用ast模块的literal_eval()函数进行安全的字符串转换操作。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。