2024-05-19 12:36:15 发布
网友
我以列表的形式收集数据,并将数据写入文本文件。文本文件中的数据看起来像
[[123231,2345,888754],[223467,85645]]
我想把它读回来,并存储在我的程序列表中。但是,当我从文件中执行read()并尝试创建一个平面列表时,它将所有内容都作为字符串,并且解释完全更改,我无法查询在python中作为普通列表读取后得到的结果。
read()
有人能帮我读一下这个文件并用和列表相同的格式存储吗?
谢谢你!
也可以使用eval来实现这一点,但其他解决方案可能更好:
eval
# reading a list from a file f = open('data.txt', 'r') l = eval(f.read()) # storing a list to a file outf = open('out','w') outf.write(str(l))
有时使用eval是一种不好的做法。有关详细信息,请检查this post。
这看起来像是有效的JSON。
所以你可以简单地:
import json with open(myfilename) as f: lst = json.load(f)
要将“列表”存储在文件中,请执行
with open(myfilename, "w") as f: json.dump(lst, f)
你只需要pickle你的数据就可以了。要保存它:
>>> import pickle >>> p= [[123231,2345,888754],[223467,85645]] >>> with open("data.txt", "wb") as internal_filename: ... pickle.dump(p, internal_filename)
要加载它:
>>> with open("data.txt", "rb") as new_filename: ... pp = pickle.load(new_filename) >>> pp [[123231, 2345, 888754], [223467, 85645]]
这对于更精细的对象也很有用。
也可以使用
eval
来实现这一点,但其他解决方案可能更好:有时使用
eval
是一种不好的做法。有关详细信息,请检查this post。这看起来像是有效的JSON。
所以你可以简单地:
要将“列表”存储在文件中,请执行
你只需要pickle你的数据就可以了。要保存它:
要加载它:
这对于更精细的对象也很有用。
相关问题 更多 >
编程相关推荐