AttributeError: ‘list’ object has no attribute ‘split’ 报错
tf = open("D:/test.txt","w+")
tf.write('本人姓名-班级-学号')
tf = open("D:/test.txt","w+")
ls=tf.readlines()
ls=ls.split("-")
print(ls)
tf.close()
此段代码会报错AttributeError: ‘list’ object has no attribute 'split’原因是ls=tf.readlines()
它读取的是文件中的所有行,以每行为元素形成一个列表
而ls=ls.split("-")
处理的是一个字符串
此时可考虑
① 将readlines()
方法改为read()
方法
② 对ls列表内的子串进行操作ls=ls[0].split("-")
以上两种方法都可以达成分割元素的效果
注:split()
方法作用对象是一个字符串,使用时要注意自己处理的或之前用方法生成的是列表,集合,还是其他的什么,只要最后能转变成字符串就能用split()
方法
编程小白,做作业的时候发现的问题,如解释的有什么不对,还望指出,一定改进