2024-10-05 10:04:55 发布
网友
我通常对列表使用json,但对集合不起作用。有没有类似的函数可以把一个集合写入输出文件f?像这样的,但是对于布景:
f=open('kos.txt','w') json.dump(list, f) f.close()
json不是特定于python的格式。它知道列表和字典,但不知道集合或元组。在
json
但是如果您想持久化纯python数据集,可以使用字符串转换。在
with open('kos.txt','w') as f: f.write(str({1,3,(3,5)})) # set of numbers & a tuple
然后用ast.literal_eval再次读一遍
ast.literal_eval
这也适用于集合列表,嵌套的集合列表。。。只要数据可以按字面意思进行评估。因此,基本上用str序列化任何python基本对象结构都可以用它来解析。在
str
您也可以使用pickle模块,但它创建二进制数据,因此更加“不透明”,而且还有一种使用json:Python sets are not json serializable的方法。但为了你的需要,我会坚持str/ast.literal_eval
pickle
str/ast.literal_eval
json
不是特定于python的格式。它知道列表和字典,但不知道集合或元组。在但是如果您想持久化纯python数据集,可以使用字符串转换。在
然后用
^{pr2}$ast.literal_eval
再次读一遍这也适用于集合列表,嵌套的集合列表。。。只要数据可以按字面意思进行评估。因此,基本上用
str
序列化任何python基本对象结构都可以用它来解析。在您也可以使用
pickle
模块,但它创建二进制数据,因此更加“不透明”,而且还有一种使用json
:Python sets are not json serializable的方法。但为了你的需要,我会坚持str/ast.literal_eval
相关问题 更多 >
编程相关推荐