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们不要白嫖呀,一键三连走起

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值