python中文件的"r"和"w"用法,变量的定义赋值问题

前两图是题目(可无视)

img

img

上方为题目

img

img


这两种写法有什么不同吗?为什么第一种写法会报错显示line是list,而第二种的line却是str,感觉两种写法没有什么区别,能解析一下吗?

对比两次的脚本,第二次比第一次少了一句:

line = line.split(",")

上面这一句将line由str转换为list。

虽然第二次的脚本也包含了line.split(","),但注意,你的写法是:

if line.split(",")[4] == "测试":

这种写法不会对变量line本身做出更改,因为line.split()最终没有赋值给line。
所以第二次的line到最后依旧是最初的str,而不是list。

PS:这个问题和open函数的‘r''w'模式关系不大。