python文件读写嵌套列表

[['12', '12'], ['12', '13']]

对上面的这个嵌套列表,怎么从文件中读出来呢?怎么往里面追加新的元素呢?

先说思路

with open('D:\\user.txt','r',encoding='utf-8') as f:User=[]User=f.readlines()

如上文件读取mode=‘r’只读模式,按照readlines对文件内容进行读取并返回列表

我以为它返回的内容是这样的

[['12', '12'], ['12', '13']]

实际上它返回的内容是这样的

["[['12', '12'], ['12', '13']]"]

再加上下面我要追加新的元素之后,整体返回的是这样的

[["[['12', '12'], ['12', '13']]"],['14','14']]

等于是把我之前的列表直接str了变成一个元素

这一步问题出在写进去的时候,我用writelines是以str形式写入,代码如下

with open('D:\\user.txt', 'w',encoding='utf-8') as f:f.writelines(str(User))f.close()​

所以读出来的时候,要把咱们原先的嵌套列表掏出来

["['12','12']"]

把上面这个,变成下面这个

['12','12']

这下就简单了,我们知道如何把一个元素从列表中取出来,就是在后面加个[0],表示把他的第一个元素取出来,再用eval函数去除双引号,代码如下

with open('D:\\user.txt','r',encoding='utf-8') as f:User=[]User=eval(f.readlines()[0])

只需要这一小步,轻轻松松搞定

接下来就可以用嵌套列表储存大家想要的数据在txt文件里面啦,快去试试

下面是完整代码

with open('D:\\user.txt','r',encoding='utf-8') as f:User=[]User=eval(f.readlines()[0])
User.append(['12','12'])
with open('D:\\user.txt', 'w',encoding='utf-8') as f:f.writelines(str(User))f.close()

uu们不要白嫖呀,一键三连走起


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部